Data Structures - Arrays - Linked Lists - Stacks - Queues - Trees
- Heaps
- Tries (Prefix Trees)
- Graphs (everything on graphs, and then some more on Graph search algorithms)
- Hash Tables
Algorithms - Searching - Sorting - Recursion - Dynamic Programming - Greedy Algorithms - Divide and Conquer - Backtracking
Problem Solving - Problem solving techniques - Problem solving patterns - Problem solving strategies
- Matrix multiplication
Commitment (hrs/day): 5 hours/day - 2-3 time blocks