You are on page 1of 6

CS306: DAA 2012, IIITDM Jabalpur

8/24/2012

CS 306: Design and Analysis of Algorithms


Atul Gupta
August-December, 2012

Linear Search

CS306: DAA 2012, IIITDM Jabalpur

8/24/2012

Binary Search

Design and Analysis of Algorithms


The design pertain to
i. The description of algorithm at an abstract level by means of a pseudo language, and ii. Proof of correctness that is, the algorithm solves the given problem in all cases

The analysis deals with performance evaluation (complexity analysis)

CS306: DAA 2012, IIITDM Jabalpur

8/24/2012

CS 304 DAA: Objectives


Problem Solving Analyzing solutions (complexity) techniques for designing efficient algorithms
by their design methodology or paradigm
Brute-force (exhaustive search) Branch and Bound (Back tracking) Divide and Conquer Greedy Dynamic Programming

By their domain of applications


search algorithms, sorting algorithms, merge algorithms graph algorithms, string algorithms, computational geometric algorithms, machine learning, cryptography, , numerical algorithms, data compression algorithms and parsing techniques.

Course Intended Learning Outcomes


Upon successful completion of the course, you should be able to
prove the correctness and analyze the running time of the basic algorithms for those classic problems in various domains; apply the algorithms and design techniques to solve problems; analyze the complexities of various problems in different domains.

CS306: DAA 2012, IIITDM Jabalpur

8/24/2012

The Topics
Review of basic concepts: Algorithms, Worst case and average case analysis: big oh; small oh, omega and theta notations, examples Advanced Data Structures: Search Trees: TRIE; B+ Trees, Binomial Trees, Red-Black trees Paradigms of Algorithms with suitable examples: divide and conquer; greedy paradigm; dynamic programming; backtracking; branch and bound; Examples can be taken from sorting, searching, selection, graph theory, String processing algorithms, algebraic algorithms Lower Bound Theory: Sorting, Maximum finding, Minimum & Maximum Finding, Hard problems and approximation algorithms: Problem classes P, NP, NP-hard and NP- complete, deterministic and nondeterministic polynomial-time algorithms. Approximation algorithms for some NP-complete problems

Evaluation
Two quizzes (15%) One course project (25%) Mid semester (20%), End Semester exam (30%) Attendance (10%)

CS306: DAA 2012, IIITDM Jabalpur

8/24/2012

Course Project
Give a algorithmic solution of a real, interesting problem
Games like Sudoku, Checkers, logic puzzles (Japanese, Chinese, etc.) NP Complete/NP Hard problems in various domains

CS306: DAA 2012, IIITDM Jabalpur

8/24/2012

Course Project
Two-three students in a group Get it approved from the instructor, and perform selfstudy of a few papers /articles related to the topic These will then be presented in class towards the end of the semester Each group will be allotted a 15-min presentation time. The groups must also prepare a report of 4-8 pages related to their presentation which will be put online The presentations and reports will be peer-evaluated (with input from the instructor)

Any Questions?
Suggestions