38
1 | Page 1| Page Design & Analysis of Algorithm Notes

A Notes on Design & Analysis of Algorithm

Embed Size (px)

Citation preview

Page 1: A Notes on Design & Analysis of Algorithm

1 | P a g e

1 | P a g e   

Design & Analysis of

Algorithm Notes

Page 2: A Notes on Design & Analysis of Algorithm

2 | P a g e

2 | P a g e   

Computer Science & Engineering Syllabus Design & Analysis of Algorithm Code: CS 503 Contacts: 3L + 1T Credits: 4 Allotted Hrs: 45L Models of computation [4L]: RAM,TM etc. time and space complexity Asymptotic Notation [3L] Big-O, omega, theta etc.; finding time complexity of well known algorithms like- heapsort, search algorithm etc. Algorithm Design techniques [2L] Recursion- Definition, Use, Limitations, Examples: Hanoi problem. Tail Recursion Divide and Conquer [3L] Basic method, use, Examples: Merge sort, Quick Sort, Binary Search Dynamic Programming [4L] Basic method, use, Examples: matrix-chain multiplication, All pair shortest paths, single-source shortest path, Travelling Salesman problem Branch and Bound [2L] : Basic method, use, Examples: The 15-puzzle problem Backtracking [3L] Basic method, use, Examples: Eight queens problem, Graph coloring problem, Hamiltonian problem Greedy Method [4L] Basic method, use, Examples: Knapsack problem, Job sequencing with deadlines, minimum spanning tree(Prim's and Kruskal's algorithms) Lower Bound Theory [2L] Bounds on sorting and sorting techniques using partial and total orders. Disjoint Set Manipulation [2L] Set manipulation algorithm like UNION-FIND, union by rank, Path compression. Properties of graphs and graph traversal algorithms [3L]: BFS and DFS Matrix manipulation algorithms [5L] Different types of algorithms and solution of simultaneous equations, DFT & FFT algorithm; integer multiplication schemes Notion of NP-completeness [5L] P class, NP-hard class, NP-complete class, Circuit Satisfiability problem, Clique Decision Problem. Approximation algorithms [3L] Necessity of approximation scheme, performance guarantee, Polynomial time approximation schemes: 0/1 knapsack problem Text Books: 1. A.Aho, J.Hopcroft and J.Ullman “The Design and Analysis of algorithms”

Arnab & Shruti
Highlight
Note Instruction
Note Information
Every Topics, which are present in this note are Hyperlinked.You can click on the Topis.
Shruti & Arnab
Note
Marked set by Shruti & Arnab
Page 3: A Notes on Design & Analysis of Algorithm

3 | P a g e

3 | P a g e   

2. D.E.Knuth “The Art of Computer Programming”, Vol. I & Vol.2 3. Horowitz Ellis, Sahani Sartaz, R. Sanguthevar " Fundamentals of Computer Algorithms". 4. Goodman: Introduction to Design and Analysis Of Algorithms TMH Reference: 1. K.Mehlhorn , “Data Structures and algorithms- Vol. I & Vol. 2 “ 2. S.Baase “Computer algorithms” 3. E.Horowitz and Shani “Fundamentals of Computer algorithms” 4. E.M.Reingold, J.Nievergelt and N.Deo- “Combinational algorithms- Theory and Practice”, Prentice Hall , 1997 5. A.Borodin and I.Munro, “The computational complexity of Algebraic and Numeric problems”

………………………………………………………………………………………………………………..

Information Technology Syllabus

Design & Analysis of Algorithm IT 803C Contact: 3L Credit: 3 ; Allotted Hrs: 39L Models of computation [4L]: Random Access Machine, Relationship between Turing Machine and RAM, Time and Space Complexity. Complexity analysis [8L]: Asymptotic notations, Recurrence for divide and conquer and its solution, Merge sort, Heap sort, Quick sort and their complexity. Dynamic Programming [4L]: Basic method, Matrix-chain multiplication, All pair shortest paths, Singlesource shortest path, Travelling Salesman problem. Greedy Method [5L]: Basic method, Knapsack problem, Job sequencing with deadlines, Minimum spanning tree by Prim's and Kruskal's algorithms. Disjoint Set Manipulation [4L]: Set manipulation algorithm like UNION-FIND, Union by rank, Path compression. Graph Traversal Algorithms [5L]: BFS and DFS, Backtracking and its use in solving Knapsack and Eight queens problem. Matrix Manipulation Algorithms [6L]: Strassen’s Matrix-multiplication algorithm and its applications in Solution of simultaneous linear equations using LUP decomposition, Inversion of Matrix and Boolean Matrix multiplication. Notion of NP-completeness [5L]: P class, NP-hard class, NP-complete class, Circuit Satisfiability problem. Approximation Algorithms [4L]: Vertex cover problem, Travelling salesman problem, Set covering problem. *These notes are prepared by Arnab Chakraborty & Digitalized by Arnab Bhattacharyya.

Shruti & Arnab
Highlight
Arnab & Shruti
Highlight
Page 4: A Notes on Design & Analysis of Algorithm

4 | P a g e

4 | P a g e     

Page 5: A Notes on Design & Analysis of Algorithm

5 | P a g e

5 | P a g e   

Page 6: A Notes on Design & Analysis of Algorithm

6 | P a g e

6 | P a g e   

Page 7: A Notes on Design & Analysis of Algorithm

7 | P a g e

7 | P a g e   

 

Page 8: A Notes on Design & Analysis of Algorithm

8 | P a g e

8 | P a g e   

Page 9: A Notes on Design & Analysis of Algorithm

9 | P a g e

9 | P a g e   

Page 10: A Notes on Design & Analysis of Algorithm

10 | P a g e

10 | P a g e   

Page 11: A Notes on Design & Analysis of Algorithm

11 | P a g e

11 | P a g e   

Page 12: A Notes on Design & Analysis of Algorithm

12 | P a g e

12 | P a g e   

Page 13: A Notes on Design & Analysis of Algorithm

13 | P a g e

13 | P a g e   

Page 14: A Notes on Design & Analysis of Algorithm

14 | P a g e

14 | P a g e   

Page 15: A Notes on Design & Analysis of Algorithm

15 | P a g e

15 | P a g e   

Page 16: A Notes on Design & Analysis of Algorithm

16 | P a g e

16 | P a g e   

Page 17: A Notes on Design & Analysis of Algorithm

17 | P a g e

17 | P a g e   

Page 18: A Notes on Design & Analysis of Algorithm

18 | P a g e

18 | P a g e   

Page 19: A Notes on Design & Analysis of Algorithm

19 | P a g e

19 | P a g e   

Page 20: A Notes on Design & Analysis of Algorithm

20 | P a g e

20 | P a g e   

Page 21: A Notes on Design & Analysis of Algorithm

21 | P a g e

21 | P a g e   

Page 22: A Notes on Design & Analysis of Algorithm

22 | P a g e

22 | P a g e   

Page 23: A Notes on Design & Analysis of Algorithm

23 | P a g e

23 | P a g e   

Page 24: A Notes on Design & Analysis of Algorithm

24 | P a g e

24 | P a g e   

Page 25: A Notes on Design & Analysis of Algorithm

25 | P a g e

25 | P a g e   

Page 26: A Notes on Design & Analysis of Algorithm

26 | P a g e

26 | P a g e   

Page 27: A Notes on Design & Analysis of Algorithm

27 | P a g e

27 | P a g e   

Page 28: A Notes on Design & Analysis of Algorithm

28 | P a g e

28 | P a g e   

Page 29: A Notes on Design & Analysis of Algorithm

29 | P a g e

29 | P a g e   

Page 30: A Notes on Design & Analysis of Algorithm

30 | P a g e

30 | P a g e   

Page 31: A Notes on Design & Analysis of Algorithm

31 | P a g e

31 | P a g e   

Page 32: A Notes on Design & Analysis of Algorithm

32 | P a g e

32 | P a g e   

Page 33: A Notes on Design & Analysis of Algorithm

33 | P a g e

33 | P a g e   

Page 34: A Notes on Design & Analysis of Algorithm

34 | P a g e

34 | P a g e   

Page 35: A Notes on Design & Analysis of Algorithm

35 | P a g e

35 | P a g e   

Page 36: A Notes on Design & Analysis of Algorithm

36 | P a g e

36 | P a g e   

Page 37: A Notes on Design & Analysis of Algorithm

37 | P a g e

37 | P a g e   

 

Page 38: A Notes on Design & Analysis of Algorithm

38 | P a g e

38 | P a g e