COMP3010: Algorithm Theory and Design
Daniel Sutantyo, Department of Computing, Macquarie University
13.0 - Revision
List of Topics
13.0 - Revision
- Complexity
- Correctness
- Brute Force
- Dynamic Programming
- Greedy
- Divide and Conquer (Recursion Tree)
- Strings
- Graphs
- Probabilistic Methods
- P vs NP (Reduction)
- P vs NP (Approximation Algorithms)
Class Test 2
13.0 - Revision
ComplexityCorrectnessBrute ForceDynamic ProgrammingGreedyDivide and Conquer (Recursion Tree)- Strings
- Graphs
- Probabilistic Methods
- P vs NP (Reduction)
P vs NP (Approximation Algorithms)
Final Exam
13.0 - Revision
- Complexity
- Correctness
- Brute Force
- Dynamic Programming
- Greedy
- Divide and Conquer (Recursion Tree)
Strings- Graphs
Probabilistic Methods- P vs NP (Reduction)
- P vs NP (Approximation Algorithms)
Final Exam
13.0 - Revision
- Complexity
- Correctness
- Brute Force
- Dynamic Programming (25 marks ~ 14%)
- Greedy (30 marks ~ 16%)
- Divide and Conquer (Recursion Tree)
Strings- Graphs (35 marks ~ 19%)
Probabilistic Methods- P vs NP (Reduction) (25 marks ~ 14%)
- P vs NP (Approximation Algorithms) (45 marks ~ 25%)
Class Test 2
13.0 - Revision
ComplexityCorrectnessBrute ForceDynamic ProgrammingGreedyDivide and Conquer (Recursion Tree)- Strings
- Graphs
- Probabilistic Methods
- P vs NP (Reduction)
P vs NP (Approximation Algorithms)
Major Topics not in the Final Exam:
13.0 - Revision
- String Algorithms (Huffman Coding, Edit Distance)
- as in you would not be required to do them, but you may still need to know the basic principles
- Substitution method
- as above
Week 1-3, 6: Complexity, Correctness, Brute Force
13.0 - Revision
- induction
- complexity notation (\(O\)-notation, \(\Theta\)-notation, \(\Omega\)-notation)
- recursion-tree method, master-method
- permutations and combinations for brute force
- \(O(2^n)\) and \(O(n!)\)
- recursive backtracking
Week 4-5: Greedy and Dynamic Programming
13.0 - Revision
- recursive relation (recursion tree)
- decompose problems into subproblems
- optimal substructure, cut and paste technique
- dynamic programming:
- overlapping subproblems
- no need for bottom-up if you cannot spot it
- greedy algorithm:
- greedy choice, explain why it is safe
- time complexities
Week 8: Graph Algorithms
13.0 - Revision
- mostly straightforward
- make sure you understand the algorithms:
- Bellman-Ford
- Matrix Multiplication Method
- Floyd-Warshall
Week 11-12: P vs NP
13.0 - Revision
- may have some brute-force questions
- understand what reductions are
- understand how to do approximation algorithms
Extra Support Sessions
13.0 - Revision
- Can organise a zoom class on Tuesday or Wednesday, Q&A session
- but please don't use this to ask questions about the assignment ...
- Discord
COMP3010 - 13.0 - Summary
By Daniel Sutantyo
COMP3010 - 13.0 - Summary
- 163