Professional Documents
Culture Documents
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
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