- **Greedy Method, Divide & Conquer, Dynamic Programming
- Grokkings Algorithms: Chapters 8 and 9 (Optional)
- Memoization and Dynamic Programming - YouTube VideoLinks to an external site. (Essential)
- Dynamic Programming - MIT VideoLinks to an external site. (Essential - until 20:50 - the rest Optional)
- Greedy Method - YouTube VideoLinks to an external site. (Essential - until 5:30 - the rest Optional)
- String
- From Algorithms (4th edition): Chapter 5 (intro), Paragraph 5.3 (Essential)
- Links to an external site.Pattern Matching - Brute Force - YouTube VideoLinks to an external site. (Essential)
- Pattern Matching - Knuth-Morris-Pratt (KMP) - YouTube VideoLinks to an external site. (Essential)
- Pattern Matching - Boyer Moore - YouTube VideoLinks to an external site. (Essential)
- Trees
- From Algorithms (4th edition): Paragraph 5.2 (Essential)
- Tries - YouTube VideoLinks to an external site. (Essential)
- Solve Contacts Using Tries - YouTube VideoLinks to an external site. (Optional)
- Strings, Tries, Compressed Tries - MIT VideoLinks to an external site. (Optional but highly recommended)