ITEC 360: Exam 2 topics - Spring 2020
DRAFT
-
Updates :
- No updates at this time.
- Coverage
- Material since previous exam: Chapters 5 (Div/Con), 6
(Trans/Con), 8 (DP), Appendix B (Recurrences)
- Performance: Definition of Big Oh
- Recurrence Equations and their solution
- Lecture and notes, supplemented by relevant sections of the text
- Homework
- Chapter 5: Divide and Conquer
- Mergesort:
- Basic algorithm
- Space requirements
- Performance: Best, worst, expected
- Quicksort
- Algorithms for quicksort and partition
- Space requirements
- Performance: Best, worst, expected
- Improvements
- Binary Search Trees
- Recursive algorithms to process
- How to add elements and search
- Performance: best, worst, expected - and why
- Importance of balance
- Largest and smallest elements
- Closest Pair: 1D and 2D cases, recursive algorithm, points in strip
- Convex Hull: definition
- Chapter 8: Dynamic Programming
- 3 approaches: recursion, memoized recursion, bottom up DP
- Definition and role of memoized recursion
- Relation between memoized recursion and DP
- Relation between recurrence relation, recursive function, and DP solution
- Subproblems: Definition and role
-
Collapsing two dimensional array into 1D
- Finding solution from table
- Definitions of and approaches to
common problems: coin selection, robot coins, paths, knapsack
(not on exam: bars with and without repetition and dust, optimal bst)
- Reconstructing solution: Basic approach, examples
- Appendix B: Solving Recurrence Equations (RE)
- Define Recurrence Equation and explain their relevance
to algorithm analysis.
- Express the performance of a recursive algorithm using a
recurrence relation.
- Derive a recurrence equation for a recursive algorithm.
- Use forward
and backward substitution to guess/find a solution
to a recurrence equation.
- Use the Master Method (aka Master Theorem) from the text
or notes to determine the solution to a RE.
Use a characteristic equation to solve a second degree linear homogeneous
recurrence equation.
-
Use a recurrence tree to express the solution of a recurrence
relation and/or
the performance of a recursive algorithm.
-
Explain the relation between a recurrence tree and the master method.
- Use substitution to verify a solution to a recurrence.
Use induction to prove the correctness of a solution to an RE. (???)
- The following topics are NOT on the Spring 2020 exam: