Unit 1
Basic Concepts |
Software development life cycle
Object-oriented design Review of C++ Algorithm and performance analysis (Big-O) |
Ch. 1 |
Unit 2
Arrays |
Array as abstract data type
Sparse Matrices String abstract data type |
Ch. 2 |
Unit 3
Stacks and Queues |
C++ template class
Stack abstract data type Queue abstract data type Subtyping and Inheritance Evaluation of Expressions (Post-, in-, prefix) |
Ch. 3 |
Unit 4
Linked Lists |
Single/double linked list representation
Linked stacks and queues Sparse Matrices Visual functions and dynamic binding |
Ch. 4 |
Unit 5
Trees |
Binary Trees
Heaps Binary search trees Set representation |
Ch. 5 |
Unit 6
Graphs |
The graph abstract data type
Graph operations Minimum cost spanning tree Shortest path algorithm |
Ch. 6 |
Unit 7
Sorting |
Insertion sort
Quick sort Merge sort Heap sort External sort |
Ch. 7 |
Unit 8
Hashing |
Static hashing algorithm
Dynamic hashing algorithm |
Ch. 8 |
Unit 9
Search |
Optimal binary search tree
AVL tree 2-3 Tree 2-3-4 Tree Red-Black tree B-trees |
Ch. 10 |
Unit 10
Heap Structures |
Min-Max heaps
Deaps Leftist Trees Binomial and Fibonacci heaps |
Ch. 9 |