Introduction & Elementary Data Structures: Order notation, Analysis of algorithms, Review of elementary data structures Heaps and Heap sort, Hashing. Sets representation, UNION, FIND operations.
Divide-and-Conquer Method: The general method, Binary search, Finding maximum and minimum, Merge sort, Quick sort and Selection sort.
Greedy Method: Knapsack problem, Optimal storage on tapes, Job sequencing with deadlines, Optimal merge pattern, Minimum spanning trees, Single source shortest path.
Dynamic programming method and traversal techniques: Multi stage graphs, All pairs shortest paths, Optimal binary search tress, 0/1 Knapsack problem, Reliability design, Traveling salesman problem, Game trees, Biconnected components and Depth first search.
Back tracking and branch-and-bound methods Hamiltonian cycles, Knapsack problem and problem.
Lower-bound Theory methods: N-queens problem, Graph coloring, 0/1 Knapsack problem, Traveling sales person
NP-hard and NP-complete problems: Basic concepts, Non-deterministic algorithms, NP-hard graph problems and scheduling problems, NP-hard code generation problem, Decision problem, Node cover problem.