Algo Syllabus New
Algo Syllabus New
Algo Syllabus New
Syllabus
Course Description
Algorithms are recipes for solving computational problems. This course teaches techniques
for the design and analysis of efficient algorithms for various applications, emphasizing
methods useful in practice.
Course Objective
Course Outcomes
CO Course Outcomes (Action verb should be in italics)
Numbers
CO-1 Apply knowledge of computing and mathematics for designing and
implementing problem solving algorithms.
CO-2 Analyze the best, average and worst-case performance of the algorithms
using asymptotic bounds.
CO-3 Choose and apply best suitable algorithm to find optimal solution of
engineering problems
CO-4 Demonstrate a familiarity with various classes of algorithms and data
structures.
CO-5 Realize the limits of computer algorithms via P, NP and NP-complete
problems.
Syllabus
Sorting and complexity analysis: Time and Space Complexity, Different Asymptotic
notations and their mathematical significance. Analysis of sorting algorithms of different
complexity classes: Sorting in Linear time, Heaps, Heat Sort and Priority Queues.
Divide and Conquer Algorithms: Binary Search, Merge sort, Multiplication of Large
Integers, Stassen’s Algorithm, Recurrences and Masters’ Method, Quick Sort and Order
Statistics.
Greedy Algorithms with Graph Recapitulation: Graph representation and Traversals,
Minimum Spanning Trees, Single Source Shortest Paths in a Graph, Bellman-Ford algorithm,
Dijkstra Algorithm, Dial’s Algorithm, Travelling Salesman Problem, Knapsack Problem, Job
Sequencing Problem, Vertex Cover Problem, Maximum Network Flow, Huffman Coding and
Encoding, Coin Change Problem
Dynamic Programming: Principle of Optimality, Memorization vs. Tabulation methods,
Cases where Greedy Algorithms Fails, 0/1 Knapsack, Matrix Chain Multiplication, Optimal
Binary Search Tree, Longest Common Subsequence, All-pairs Shortest Path Problem, Coin
Change Problem, Rod Cutting Problem,
Backtracking: Hamiltonian Cycle, N-Queens Problem, Graph Coloring Problem, Sum of
Subset Problem etc.
Number Theoretic Algorithms: The GCD, Modular Arithmetic, Primality Testing etc.
Text Processing: Naïve String Matching, Rabin Karp Algorithm, String Matching using
Finite Automata, KMP Algorithm.
NP-Completeness and Approximation algorithm:
P class, NP class, NP hard class, NP completes class – their interrelationship, Satisfiability
Problem and Reducibility Examples. Necessity of Approximation Scheme, Polynomial Time
Approximation with Examples.
Text Books
Reference Books