Essential:
- Hash Maps
- Hash functions - from min 16:30 to 39:40
- Introduction to Data Structures and Algorithms - from min 25:30 to 39:00
- Trees Introduction
- Trees, Binary Trees, BST, Traversal Algorithms
- What is a Binary Tree - from min 4:00 to min 16:30
- Binary Tree and Binary Search Tree - from min 16:30
- Binary Search Tree (cont.) and AVL Tree - Optional part from 36:20 to 44:06
- Merge Sort - from min 41:22
- Quick Sort - YouTube Video 2
- Priority Queues, Binary Heap and Heap Sort
- Linear Sorting
- Radix Sort
- Graph definitions - from min 2:0 to min 20:55
- Graph representations - from min 20:55 to 26:35
- Paths and BFS - from min 26:35 to min 52:52
- DFS - from min 6:40 to min 33:29
- Topological Sort - from min 33:29 to min 52:22
- Dijkstra Algorithm - Optional but highly recommended from 39:49 to 50:54
- Memoization and Dynamic Programming
- Dynamic Programming - until 20:50
- Greedy Method - until 5:30
- Pattern Matching - Brute Force
- Pattern Matching - Knuth-Morris-Pratt (KMP)
- Pattern Matching - Boyer Moore
- Tries
Optional:
- Introduction to Data Structures and Algorithms
- Recursion
- Algorithm Analysis
- Merge Sort - YouTube Video 1
- Merge Sort - YouTube Video 2
- Quick Sort
- Priority Queues
- Heaps
- Heap Sort
- Introduction to Graphs
- Graph Search, BFS and DFS
- Shortest Paths
- Strings, Tries, Compressed Tries - Optional but highly recommended
- Solve Contacts Using Tries
- Check if a tree is a BST