Module 1 Introduction : What is an Algorithm?, Algorithm Specification, Analysis Framework, Performance Analysis : Space complexity, Time complexity. Asymptotic Notations : Big-Oh notation (O), Omega notation (), Theta notation (), and Little-oh notation (o), Mathematical analysis of Non-Recursive and recursive Algorithms with Examples. Important Problem Types : Sorting, Searching, String processing, Graph Problems, Combinatorial Problems. Fundamental Data Structures : Stacks, Queues, Graphs, Trees, Sets and Dictionaries. (Chapter - 1) Module 2 Divide and Conquer : General method, Binary search, Recurrence equation for divide and conquer, Finding the maximum and minimum, Merge sort, Quick sort, Strassen’s matrix multiplication, Advantages and Disadvantages of divide and conquer. Decrease and Conquer Approach : Topological Sort. (Chapter - 2) Module 3 Greedy Method : General method, Coin Change Problem, Knapsack Problem, Job sequencing with deadlines. Minimum cost spanning trees : Prim’s Algorithm, Kruskal’s Algorithm. Single source shortest paths : Dijkstra's Algorithm. Optimal Tree problem : Huffman Trees and Codes. Transform and Conquer Approach : Heaps and Heap Sort. (Chapter - 3) Module 4 Dynamic Programming : General method with Examples, Multistage Graphs. Transitive Closure : Warshall’s Algorithm, All Pairs Shortest Paths : Floyd's Algorithm, Optimal Binary Search Trees, Knapsack problem, Bellman-Ford Algorithm, Travelling Sales Person problem, Reliability design. (Chapter - 4) Module 5 Backtracking : General method, N-Queens problem, Sum of subsets problem, Graph coloring, Hamiltonian cycles. Programme and Bound : Assignment Problem, Travelling Sales Person problem, 0/1 Knapsack problem : LC Programme and Bound solution, FIFO Programme and Bound solution. NP-Complete and NP-Hard problems : Basic concepts, non-deterministic algorithms, P, NP, NP-Complete, and NP-Hard classes. (Chapters - 5, 6, 7)