Data structures and Algorithm
Budget: ₹400 – ₹750 INR
1. Review on Algorithm Analysis & Trees
Mathematics review. Asymptotic notations and growth of functions. Overview of general, binary
and search trees. AVL trees, Splay trees, B-trees.
2. Priority Queues
Binary heap, d-heap, Min-Max heap, leftist heap, binomial heap.
3. Sorting and Order Statistics
Overview and classification of sorting algorithms, insertion sort, mergesort, heapsort, quicksort,
lower bound for sorting, bucket sort and radix sort, indirect sorting and external sorting, Order
statistics.
4. Graphs and Networks
Implementation of graphs, topological sort, shortest path, network flow problems, minimum
spanning tree, search techniques, introduction to NP-completeness.
5. Algorithm Design Techniques
Combinatorial optimization, greedy algorithms, divide and conquer, dynamic programming,
randomized algorithms, backtracking algorithms, branch and bound.
6. Advanced Algorithms (as time permits).
Distributed Algorithms. Parallel Algorithms. Advanced algorithmic analysis: Amortized analysis,
online and offline algorithms.
Mathematics review. Asymptotic notations and growth of functions. Overview of general, binary
and search trees. AVL trees, Splay trees, B-trees.
2. Priority Queues
Binary heap, d-heap, Min-Max heap, leftist heap, binomial heap.
3. Sorting and Order Statistics
Overview and classification of sorting algorithms, insertion sort, mergesort, heapsort, quicksort,
lower bound for sorting, bucket sort and radix sort, indirect sorting and external sorting, Order
statistics.
4. Graphs and Networks
Implementation of graphs, topological sort, shortest path, network flow problems, minimum
spanning tree, search techniques, introduction to NP-completeness.
5. Algorithm Design Techniques
Combinatorial optimization, greedy algorithms, divide and conquer, dynamic programming,
randomized algorithms, backtracking algorithms, branch and bound.
6. Advanced Algorithms (as time permits).
Distributed Algorithms. Parallel Algorithms. Advanced algorithmic analysis: Amortized analysis,
online and offline algorithms.