CIE352 Design and Analysis of Algorithms Syllabus:

CIE352 Design and Analysis of Algorithms Syllabus – Anna University Regulation 2021

COURSE OBJECTIVES:

• To understand and apply the algorithm analysis techniques.
• To critically analyze the efficiency of alternative algorithmic solutions for the same problem.
• To understand different algorithm design techniques.
• To understand the limitations of Algorithmic power.

UNIT I ANALYSING ALGORITHMS

The Role of Algorithms in Computing – Growth of Functions – Recurrences – The Substitution Method – The Recurrence Tree Method – The Master Method – Probabilistic Analysis and Randomized Algorithms – Amortized Analysis – Aggregate Analysis – Accounting Method

UNIT II DIVIDE AND CONQUER & GREEDY DESIGN STRATEGIES

Analysis of Quick Sort, Merge Sort – Quick Sort Randomized Version – Sorting in Linear Time – Lower Bounds for Sorting – Selection in Expected Linear Time – Selection in Worst case Linear Time – Greedy Algorithms – Elements of Greedy Strategy – Huffman Code, Dijkstra’s Shortest Path Algorithm.

UNIT III DYNAMIC PROGRAMMING AND OTHER DESIGN STRATEGIES

Dynamic Programming – Matrix Chain Multiplication – Elements of Dynamic programming – Longest Common Sequences – Warshall’s and Floyds Algorithm – Transitive Closure – All Pairs Shortest Path Algorithm – Analysis – Backtracking – Graph Coloring Problem – Branch and Bound Strategy – Knapsack Problem.

UNIT IV FLOW NETWORKS AND STRING MATCHING

Flow Networks – Ford Fulkerson Method – String Matching – Naive String Matching Algorithm – Knuth Morris Pratt Algorithm – Analysis.

UNIT V NP PROBLEMS

NP-Completeness – Polynomial Time Verification – Theory of Reducibility – Circuit Satisfiability – NP – Completeness Proofs – NP Complete Problems: Vertex Cover, Hamiltonian Cycle and Traveling Salesman Problems – Approximation Algorithms – Approximation Algorithms to Vertex – Cover and Traveling Salesman Problems.

TOTAL: 45 PERIODS
COURSE OUTCOMES:

• Design algorithms for various computing problems.
• Analyze the time and space complexity of algorithms.
• Critically analyze the different algorithm design techniques for a given problem.
• Modify existing algorithms to improve efficiency.
• Analyze the concepts of NP problems

REFERENCES:

1. C.M. Krishna, Kang G. Shin, ―Real-Time Systems‖, McGraw-Hill International Editions,1st edition 2017.
2. Philip.A.Laplante, ―Real Time System Design and Analysis‖, Prentice Hall of India, 3rd Edition, 2004.
3. Rajib Mall, ―Real-time systems: theory and practice‖, Pearson Education, 2009.
3. Allen Burns, Andy Wellings, ―Real Time Systems and Programming Languages‖, Pearson Education, 2003.