It is being taught with the intention to teach the student how to measure the effectiveness of an algorithm and also to build an efficient way to carry out various types of sorting and searching techniques.
Introduction, Notion of Algorithm, Fundamentals of Algorithmic Solving, Important Problem types, Fundamentals of the Analysis Framework, Asymptotic Notations and Basic Efficiency Classes, Problem Classifications, NP class, NP completeness, reducibility, NP complete problems.
Mathematical Analysis of Non-Recursive Algorithm, Mathematical Analysis of Recursive Algorithm, Solving Recurrence Relations, Example: Fibonacci Numbers, Empirical Analysis of Algorithms, Algorithm Visualization.
Radix Sort, Sequential Search and Brute-force string matching, Divide and conquer, Merge sort, Quick Sort, Hashing, Binary Search, Binary tree, Traversal and Related Properties, Decrease and Conquer , Insertion Sort , Depth first Search and Breadth First Search.
Transform and conquer, Presorting , Balanced Search trees, AVL Trees, Heaps and Heap sort, Dynamic Programming, Warshall’s and Floyd’s Algorithm, Optimal Binary Search trees, Greedy Techniques, Kruskal’s Algorithm, Dijkstra’s Algorithm , Huffman trees.
Backtracking, n-Queen’s Problem, Hamiltonian Circuit problem, Subset-Sum problem, Branch and bound, Assignment problem, Knapsack problem, Traveling salesman problem, Flow-Shop Scheduling.
1. T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein, “Introduction to Algorithms”, PHI Pvt. Ltd., 2001
2. Y. Langsam, M.J. Angestein and A.M. Tanenbaum, “Data Structures Using C and C++”, Prentice Hall of India.
1. Anany Levitin, “Introduction to the Design and Analysis of Algorithm”, Pearson Education Asia, 2003.
2. Sara Baase and Allen Van Gelder, “Computer Algorithms, Introduction to Design and Analysis”, Pearson Education Asia, 2003.
3. A.V.Aho, J.E. Hopcroft and J.D.Ullman, “The Design and Analysis of Computer Algorithms”, Pearson Education Asia, 2003.
4. Ellis Horowitz, Sarataj Sahni, S. Rajsekaran, ”Fundamentals of Computer Algorithms”, University press.
5. Mark Allen Weiss, “Data Structure & Algorithm Analysis in C++”, Third Edition, Pearson Education.