Download presentation
Presentation is loading. Please wait.
Published byClyde Morris Modified over 9 years ago
1
1 Summary of lectures 1.Introduction to Algorithm Analysis and Design (Chapter 1-3). Lecture SlidesLecture Slides 2.Recurrence and Master Theorem (Chapter 4). Lecture SlidesLecture Slides 3.Sorting and Order Statistics (Chapter 8-9). Lecture SlidesLecture Slides 4.Balanced Search Trees: red-back tree (chapter 13) and others Lecture SlidesLecture Slides 5.Augmenting Data Structure (Chapter 14) Lecture SlidesLecture Slides 6.Dynamic Programming (Chapter 15). Lecture SlidesLecture Slides 7.Greedy Algorithms (Chapter 16). Lecture SlidesLecture Slides 8.Amortized Analysis (chapter 17) Lecture slidesLecture slides 9.Divide and Conquer--closest pair (Chapter 33.4) Lecture slidesLecture slides 10.Lower bound: decision tree & adversary argument (handout) Lecture SlidesLecture Slides
2
2 Introduction Algorithms design: data structures and algorithms (disjoint set, red-black tree, AVL, B-Tree, 2-3-4) Algorithm analysis: complexities-- space and time worst, best, average asymptotic notations: order of growth Analysis methods: loop and loop invariant recursive relation and equations Substitution, Recursion tree, Master theorem, Domain Transformation, Change of variables amortized analysis adversary argument, decision argument (worst case lower bound) Algorithms: serial vs. parallel regular vs. approximate deterministic vs. probabilistic Design methods: divide and conquer dynamic programming, memoization greedy algorithm prune and search specific methods: 7 in closest pair, 5 in ordered statistic,
3
3 Sorting and order statistic Sorting: –Comparison: Lower bound O(nlg n), decision tree. –Non-comparison: Bucket sort, counting sort, radix sort, (linear time). ith smallest elements: –First (minimum), last (Maximum), both (3 n/2 ). –Prune-and-search RANDOMIZED-SELECT :Expected linear time O(n) but worst- case running time O(n 2 ). SELECT: Linear worst-case running time O(n).
4
Lower bound 4 Decision Tree Adversary Argument
5
5 Dynamic programming Elements of DP: –Optimal substructures –Overlapping subproblems Four steps: –Find/prove Optimal Substructure –Find recursive solution –write DP program to compute optimal value –Construct optimal solution (path). Analysis of DP program Relations among: recursive algorithm, divide-and- conquer, Memoization. Auxiliary table.
6
6 Data structures Red-black trees –Balance –Rotation –Augmenting Other trees: –AVL, B-tree, B+-tree, 2-3-4, Treap, Splay
7
7 Amortized analysis Find the average worse-case performance over a sequence of operations Three methods: –Aggregate analysis: Total cost of n operations/n, –Accounting method: Assign each type of operation an (different) amortized cost overcharge some operations, store the overcharge as credit on specific objects, then use the credit for compensation for some later operations. –Potential method: Same as accounting method But store the credit as “potential energy” and as a whole.
8
8 Cross-topic reviews Given a problem, –design its data structures, its algorithms, and analyze its complexity. Space and time trade-off Pre-processing
9
9 Questions types Design data structures Design algorithms (by different methods) Given algorithm, analysis of its (different techniques) functions and complexity. Problem-related specific questions: many!! Recursive and recurrence. Proof, computation, design, analysis.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.