1. |
|
Insertion Sort |
1. Sorting problem
2. Running time of insertion Sort
3. Space consumption of insertion Sort |
|
2. |
|
Merge/Selection Sort |
1. Two sorting algorithms - Merge/Selection sort
2. Recursion tree
3. Divide and conquer |
|
3. |
|
Asymptotic notations / Heap sort |
1. O-notation, Ω-notation, Θ-notation, Other types
2. Heaps
3. Building a heap
4. Heapsort algorithm
5. Priority queues |
|
4. |
|
Quick sort / Counting sort |
1. Performance of quick sort
2. Randomized quicksort
3. Counting sort |
|
5. |
|
Data structure review / Hashing |
1. Data structure review
2. Hash tables
3. Hash functions
4. Open addressing |
|
6. |
|
Graph Basics 1 |
1. Graphs basics |
|
7. |
|
Graph Basics 2 (adjacency list/matrix) |
1. Graph representation
2. Breadth-first search |
|
8. |
|
Graph Basics 3 (DFS/BFS) |
1. Depth-first search
2. Applications of depth-first search
3. Data Structures for Disjoint Sets |
|
9. |
|
Minimum spanning trees |
1. Spanning Trees
2. Prim's Algorithm
3. Kruskal's Algorithm |
|
10. |
|
Single source shortest paths 1 (Dijksta) |
1. Shortest-path problems
2. Dijkstra's algorithm |
|
11. |
|
Single source shortest paths 2 (Bellman-Ford/Dag) |
1. Bellman-Ford algorithm
2. Single-source shortest paths in directed acyclic graphs
3. PERT chart |
|
12. |
|
All-pairs shortest paths (Floyd-Warshall) |
1. Using SSSP (single source shortest path) algorithms
2. Floyd-Warshall algorithm
3. Transitive closure of a directed graph |
|