Weekly outline
7 January - 13 January
- Introduction, Running time
14 January - 20 January
Asymptotic Notation, Recurrences, Abstract Data Type, ADT List ,
21 January - 27 January
ADT Stacks, Array and Singly Linked List Implementation of Stacks ,
Infix to Postfix Conversion and Postfix Expression Evaluation
28 January - 3 February
ADT Queue, Array and Singly Linked list implementation of Queue,
Double Ended Queues, Implementing a Stack, Queue and Deque with Doubly Linked List
4 February - 10 February
Tree ADT, Depth and Height Algorithms, Binary trees,
Inorder, preorder and postorder traversals,
Threaded Binary Trees,
11 February - 17 February
First In-Sem Exam
Binary Search Trees ant its operations
18 February - 24 February
Priority Queues and it Implementations using Heap, Heap sort
AVL Trees
25 February - 2 March
Splay trees, B-Trees
3 March - 9 March
Red-Black Trees,
Hashing, Hash functions, Separate Chaining
10 March - 16 March
Universal Hashing, Open Addressing(Linear Probing, Quadratic Probing, Double Hashing)
Skip Lists
Merge sort
17 March - 23 March
semester break
24 March - 30 March
Quick sort
Second In-Sem Exam
31 March - 6 April
Lower Bound for comparision based sorting,
Radix sort
Dynamic Programming, The Travelling Salesperson problem
Greedy Algorithms, Fractional Knapsack Problem
7 April - 13 April
Breadth First Search
Depth First Search
Kruskal's Algorithm for Minimum Spanning Tree (Greedy Algorithm)
14 April - 20 April
Dijkstra's Algorithm for shortest path(Greedy Algorithm)
Branch and Bound Algorithm
NP-Completeness
21 April - 27 April