Syllabus for CS141 - Quiz 2

- Concept of worst-case time-complexity
- Asymptotic notations: big-Oh, big-Theta, big-Omega
- prove or disprove that the following function is big-Oh, big-Theta, big-Omega of ...

- Properties of big-Oh, big-Theta, big-Omega
- prove or disprove that the following property hold ...

- Discrete math
- prove the following statement by induction ...

- Deriving recurrence relations
- derive a recurrence relation from the following pseudo-code ...

- Solving recurrence relations
- solve the following recurrence relation by iterative substitution ...
- solve the following recurrence relation by Master Theorem ...
- prove by induction the correctness of the solution of the following recurrence relation ...

- Greedy method (task scheduling, fractional knapsack, Huffman coding)
- questions on the algorithms mentioned in parenthesis above...
- devise a greedy algorithm for the following problem ...
- show why greedy is a bad choice for the following problem ...
- prove that the greedy choice for the following problem always leads to the optimal solution ...

- Divide and Conquer method (integer multiplication, matrix multiplication/Strassen)
- questions on the algorithms mentioned in parenthesis...
- devise a divide and conquer algorithm for the following problem ...

- Dynamic Programming method (Fibonacci, Pascal's Triangle, 01-knapsack, matrix chain multiplication)
- questions on the algorithms mentioned in parenthesis...
- devise a dynamic programming algorithm for the following problem ...
- given the final table for a dynamic programming algorithm, find all optimal solutions...

- Undirected Graphs (DFS, BFS, connected components, biconnected components)
- questions on definitions
- questions on the graph data structures
- questions on the algorithms mentioned in parenthesis
- questions on the properties of DFS and BFS
- run the O(n+m) time biconnected components on the following graph ...

- Directed Graphs (DFS, strong connectivity, Floyd-Warshall, topological sorting)
- questions on definitions
- questions on the algorithms mentioned in parenthesis
- run the Floyd-Warshall algorithm on the following graph ...
- run the topological sorting algorithm on the following graph ...

**NOTE:** The list above is representative of the problems that could be on the
quiz, but not necessarly exhaustive