Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design and Analysis of Algorithms Introduction Instructors:1. B V Kiran Mayee, 2. A Madhavi 1. 2.

Similar presentations


Presentation on theme: "Design and Analysis of Algorithms Introduction Instructors:1. B V Kiran Mayee, 2. A Madhavi 1. 2."— Presentation transcript:

1 Design and Analysis of Algorithms Introduction Instructors:1. B V Kiran Mayee, 2. A Madhavi E-mail :1. kiranmayee_bv@vnrvjiet.in, 2. madhavi_a@vnrvjiet.inkiranmayee_bv@vnrvjiet.inmadhavi_a@vnrvjiet.in

2 Intro - 2 CMS-DAA Course Overview Introduction to algorithm design, analysis, and applications  Algorithm Analysis  Asymptotic Notation, Recurrence Relations, Probability.  Data Structures  Lists, Heaps, Graphs, Trees, Balanced Trees, Hash Tables.  Sorting & Searching  Mergesort, Quicksort, BFS, DFS  Algorithmic Design Techniques  Divide and Conquer, Dynamic Programming, Greedy Algorithms, Graph Algorithms, Backtracking, Branch & Bound

3 Intro - 3 CMS-DAA Primary Focus Develop thinking ability.  Problem solving skills. (algorithm design and application)  Formal thinking. (proof techniques & analysis)

4 Intro - 4 CMS-DAA What Will We Do?  Examine interesting problems.  Devise algorithms to solve them.  Prove these algorithms correct.  Analyze their resource usage (time, memory).  Understand data structures & core algorithms.  Learn problem-solving techniques.  See applications in real-world situations.

5 Intro - 5 CMS-DAA Goals  Be very familiar with a collection of core algorithms.  Be fluent in algorithm design techniques: divide & conquer, greedy algorithms, dynamic programming, backtracking and branch & bound methods.  Be able to analyze the correctness and runtime performance of a given algorithm.  Be familiar with the inherent complexity (lower bounds & intractability) of some problems.  Be intimately familiar with basic data structures.  Be able to apply techniques in practical problems.

6 Intro - 6 CMS-DAA Textbook & References  Introduction to Algorithms, 2 nd Ed. by Cormen, Leiserson, Rivest, & Stein (CLRS), McGraw Hill, 2002.  Fundamentals Computer Algorithms, 2 nd Ed. By Ellis Horowitz, Satraj Sahani, Sanguthever Rajasekaran, Unversity Press. OTHER REFERENCES:  Algorithmics: The Spirit of Computing, Harel  How to Solve It, Polya.  The Design and Analysis of Computer Algorithms, Aho, Hopcroft and Ullman.  Algorithms, Sedgewick.  Algorithmics: Theory & Practice, Brassard & Bratley.  Writing Efficient Programs & Programming Pearls, Bentley.  The Science of Programming, by Gries.  The Craft of Programming, by Reynolds.

7 Intro - 7 CMS-DAA Prerequisites  Data Structures  Discrete Mathematics  Elementary Probability

8 Intro - 8 CMS-DAA Course Roadmap  Algorithms Basics  Divide and Conquer  Greedy Algorithms  Dynamic Programming  Backtracking  Branch & Bound  NP Hard & NP Complete Problems.

9 Intro - 9 CMS-DAA Algorithms Basics  Introduction to algorithms, complexity, and proof of correctness.  Asymptotic Notation.  Goals  Know how to write formal problem specifications.  Know about computational models.  Know how to measure the efficiency of an algorithm.  Know the difference between upper and lower bounds and what they convey.  Be able to prove algorithms correct and establish computational complexity.

10 Intro - 10 CMS-DAA Divide-and-Conquer  Designing Algorithms.  Recurrences Relations.  Binary Search, Quicksort, Mergesort.  Goals  Know when the divide-and-conquer paradigm is an appropriate one.  Know the general structure of such algorithms.  Express their complexity using recurrence relations.  Determine the complexity using techniques for solving recurrences.  Memorize the common-case solutions for recurrence relations.

11 Intro - 11 CMS-DAA Greedy Algorithms  Greedy Algorithms  Minimum Cost Spanning Trees  Shortest Paths  Goals  Know when to apply greedy algorithms and their characteristics.  Be able to prove the correctness of a greedy algorithm in solving an optimization problem.  Understand where minimum spanning trees and shortest path computations arise in practice.

12 Intro - 12 CMS-DAA Dynamic Programming  Dynamic Programming  Optimal Binary Search Trees  Travelling Sales Person Problem  Matrix Chain Multiplication  Goals  Know when to apply dynamic programming and how it differs from divide and conquer.  Be able to systematically move from one to the other.

13 Intro - 13 CMS-DAA Backtracking  General Method  N-Queens Problem  Sum Of Subsets Problem  Graph Coloring & Hamiltonian Cycles  Goals  Know when to apply backtracking method and its characteristics.  Be able to generate State Space Tree for a given problem.

14 Intro - 14 CMS-DAA Branch & Bound  General Method  TSP Using LCBB  0/1 Knapsack Problem using LCBB & FIFOBB  Goals  Know when to apply branch&bound method and how it differs from backtracking method.

15 Intro - 15 CMS-DAA How to Succeed in this Course  Start early on all assignments. DON'T procrastinate.  Complete all reading before class.  Participate in class.  Think in class.  Review after each class.  Be formal and precise on all problem sets and in-class exams.


Download ppt "Design and Analysis of Algorithms Introduction Instructors:1. B V Kiran Mayee, 2. A Madhavi 1. 2."

Similar presentations


Ads by Google