You are on page 1of 1

CP 213: DATA STRUCTURES AND ALGORITHMS ANALYSIS (10.

5 Credits)
Course Aim

This course introduces fundamental data structures and algorithms such as abstract data types (ADTs), vector,
list, deque, stack, queue, graph, digraph, table, map (associative array), priority queue, sets, trees. Also introduces
the concepts of algorithm analysis such as Best, Worst, and Average Cases.

Prerequisites

CP 111: Principles of Programming, CP 123: Introduction to High Level Programming

MT 1111: Discrete Mathematics

Teaching and Learning Activities

Lectures 30 hours + Tutorial/seminars 15 hours + Assignments: 15 hours + Independent studies 15 hours +


Practical 30 hours per semester

Course Contents

Introduction to data structures: Data types, abstract data types. Information and its storage representation,
Definition of data structures, Classification of data structures,

Introduction to Algorithm analysis: Definition of algorithms; algorithmic notation; Space and time analysis.
Best, Worst, and Average Cases;

Introduction and implementation of Linked List: Introduction to linked list/Queues (single linked list, double
linked list), Dynamic memory allocation, Data feeding, data retrieval from linked lists, Creation of lists by
recursion, creation of lists by iteration

Introduction and implementation of Queue and their applications: Queue traversal, counting nodes,
concatenating two lists, en-queue, de-queue, en-queue.

Introduction and implementation of stacks and their applications: Stack declaration. Stack creation by
recursion, stack creation by iteration Stack operations (push, pop). Infix, prefix and postfix expressions,

Nonlinear data structures: Trees. Binary trees, B-tree traversals, General trees, Graphs-Representation,
Traversal of general trees, Graph Traversal.

Sorting and Searching: Sorting Terminology and Notation; Sorting Algorithms Searching Algorithms

Recommended References/Textbooks

1. Storer J.A. and John C. Cherniavsky (2001) An Introduction to Data Structures and Algorithms. Birkhäuser
Boston.
2. Michael T. Goodrich and Roberto Tamassia (2005), Data Structures and Algorithms inJava, Wiley
3. Mark Allen Weiss, (2006) Data Structures and Algorithm Analysis in C++, Addison Wesley.
4. M. A. Weiss. Addison-Wesley, Data Structures and Algorithm Analysis in C++ (3rd edition), ISBN-10:
032144146X & ISBN-13: 9780321441461
5. Harvey & Paul, C++ How to Program (5th Edition), Deitel & Associates. Prentice Hall, ISBN-10:
0131857576 & ISBN-13: 9780131857575

You might also like