0% found this document useful (0 votes)
74 views

Design and Analysis of Algorithms Sy

This document outlines the objectives and units of a course on design and analysis of algorithms. The objectives include analyzing asymptotic performance, writing correctness proofs, demonstrating familiarity with major algorithms and data structures, and applying design paradigms. The units cover topics like divide and conquer, dynamic programming, backtracking, and lower bounds.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views

Design and Analysis of Algorithms Sy

This document outlines the objectives and units of a course on design and analysis of algorithms. The objectives include analyzing asymptotic performance, writing correctness proofs, demonstrating familiarity with major algorithms and data structures, and applying design paradigms. The units cover topics like divide and conquer, dynamic programming, backtracking, and lower bounds.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Design and Analysis of Algorithms

Objective:

 Analyze the asymptotic performance of algorithms.


 Write rigorous correctness proofs for algorithms.
 Demonstrate a familiarity with major algorithms and data structures.
 Apply important algorithmic design paradigms and methods of analysis.
 Synthesize efficient algorithms in common engineering design situations.

Unit 1: Introduction - Definition of Algorithm – pseudocode conventions – recursive


algorithms – time and space complexity –big-“oh” notation – practical complexities –
randomized algorithms – repeated element – primality testing - Divide and Conquer: General
Method - Finding maximum and minimum – merge sort.
Unit-2: Divide and conquer contd. – Quicksort, Selection, Strassen's matrix multiplication
 Greedy Method: General Method –knapsack problem - Tree vertex splitting - Job
sequencing with dead lines – optimal storage on tapes.
Unit 3: Dynamic Programming: General Method - multistage graphs – all pairs shortest paths
– single source shortest paths - String Editing – 0/1 knapsack. Search techniques for graphs –
DFS-BFS-connected components – biconnected components.
Unit 4: Back Tracking: General Method – 8-queens - Sum of subsets - Graph Coloring –
Hamiltonian cycles. Branch and Bound: General Method - Traveling Salesperson problem.
Unit 5: Lower Bound Theory: Comparison trees - Oracles and advisory arguments - Lower
bounds through reduction - Basic Concepts of NP-Hard and NP-Complete problems.

Recommended Texts:
1. E. Horowitz, S. Sahni and S. Rajasekaran, 2007, Computer Algorithms, 2 nd

Edition,Universities Press, India.

Reference Books
1. G. Brassard and P. Bratley, 1997, Fundamentals of Algorithms, PHI, New Delhi.
2. A.V. Aho, J.E. Hopcroft, J.D. Ullmann, 1974, The design and analysis of
Computer Algorithms, Addison Wesley, Boston.
3. S.E.Goodman and S.T.Hedetniemi, 1977, Introduction to the Design and Analysis
of algorithms, Tata McGraw Hill Int. Edn, New Delhi.

E-learning resources
1. http://www.cise.ufl.edu/~raj/BOOK.html
Outcomes

Students who complete the course will have demonstrated the ability to do the following:
 Argue the correctness of algorithms using inductive proofs and invariants.
 Analyze worst-case running times of algorithms using asymptotic analysis.
 Explain what competitive analysis is and to which situations it applies. Perform competitive
analysis.
 Compare between different data structures. Pick an appropriate data structure for a design
situation.

You might also like