Algorithms, Analyzing algorithms, Complexity of algorithms, Growth of functions, Performance measurements, Sorting and order statistics - Shell sort, Quick sort, Merge sort, Heap sort, Comparison of sorting algorithms, Sorting in linear time. (Chapter - 1)
2. Advanced Data Structures
Red-black trees, B-trees, Binomial heaps, Fibonacci heaps. (Chapter - 2)
Divide and conquer with examples such as sorting, Matrix multiplication, Convex hull and searching.
Greedy methods with examples such as optimal reliability allocation, Knapsack, Minimum spanning trees - Prim's and Kruskal's algorithms, Single source shortest paths - Dijkstra's and Bellman Ford algorithms. (Chapters - 3, 4)
Dynamic programming with examples such as Knapsack.
All pair shortest paths - Warshal's and Floyd's algorithms, Resource allocation problem.
Backtracking, Branch and bound with examples such as travelling salesman problem, Graph coloring, n-Queen problem, Hamiltonian cycles and sum of subsets. (Chapters - 5, 6)
5. Selected Topics
Algebraic computation, Fast Fourier transform, String matching, Theory of NP-completeness, Approximation algorithms and randomized algorithms. (Chapter - 7)