Topics for the Final
CS 343: Analysis of Algorithms,
Spring 2008
Please review class notes and the sections from chapters 1-8 that were covered in class. Review written and programming homework.
Topics on the final will include material covered on the midterm as well as
the topics listed below.
Chapter 5: Divide and Conquer
- Methods for evaluating complexity of recursive algorithms:
- Unrolling/Telescoping.
- Master Theorem (long and short versions)
- Applications: mergesort, stoogesort, binary search, closest pair, hidden surface removal
Chapter 6: Dynamic Programming
- What is DP? When is it used? What is the "procedure" for finding solutions?
- What is memoization?
- Applications: weighted interval scheduling, Chapest path, 0-1 Knapsack, Pretty printing, LCS,
segmented least squares, Bellman-Ford Shortest Path Algorithm (negative costs), ordered graph, Zion
Chapter 7: Network Flow (Sections 1-3)
- What is network flow?
- Maximum-Flow Problem: Ford Fulkerson Algorithm - augmenting paths in a residual graph
Chapter 8: NP and Intractability (Sections 1-4)
- Complexity Comparison: P, NP, NP-Complete, NP-Hard, EXP
- Know Definitions: decision problems, NP, NP-complete, NP hard, polynomial reducibility, polynomial transforms,
certificate & certifiers
- Examples of NP/NP-Complete problems: Independent Set, Vertex Cover, Circuit Satisfiability, 3-Satisfiability. TSP, Hamiltonian Cycle, etc
- Significance and meaning of P=NP.
[top] [Exam]
[Home]