Download Summary of lectures - Computer Science@IUPUI

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Summary of lectures
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Introduction to Algorithm Analysis and Design (Chapter 1-3). Lecture Slides
Recurrence and Master Theorem (Chapter 4). Lecture Slides
Sorting and Order Statistics (Chapter 8-9). Lecture Slides
Balanced Search Trees: red-back tree (chapter 13) and others Lecture Slides
Augmenting Data Structure (Chapter 14) Lecture Slides
Dynamic Programming (Chapter 15). Lecture Slides
Greedy Algorithms (Chapter 16). Lecture Slides
Amortized Analysis (chapter 17) Lecture slides
Divide and Conquer--closest pair (Chapter 33.4) Lecture slides
Lower bound: decision tree & adversary argument (handout) Lecture Slides
1
Introduction
Algorithms: serial vs. parallel
regular vs. approximate
deterministic vs. probabilistic
Algorithms design: data structures and algorithms
(disjoint set, red-black tree, AVL, B-Tree, 2-3-4)
Design methods: divide and conquer
dynamic programming, memoization
greedy algorithm
prune and search
specific methods: 7 in closest pair, 5 in ordered statistic,
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
2
adversary argument, decision argument (worst case lower bound)
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(n2).
• SELECT: Linear worst-case running time O(n).
3
Lower bound
Decision Tree
Adversary Argument
4
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-andconquer, Memoization.
• Auxiliary table.
5
Data structures
• Red-black trees
– Balance
– Rotation
– Augmenting
• Other trees:
– AVL, B-tree, B+-tree, 2-3-4, Treap, Splay
6
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.
7
Cross-topic reviews
• Given a problem,
– design its data structures, its algorithms, and analyze
its complexity.
• Space and time trade-off
• Pre-processing
8
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.
9
Related documents