| Week |
Category |
Topic |
Assignment |
| 0 |
Computation |
OT & Analysis of algorithms |
|
| 1 |
Linear Data Structures |
Array, Vector, List, Sequence |
BOJ_1158, BOJ2346 |
| Stack, Queue |
BOJ_10828, BOJ_1935, BOJ_1918, BOJ_18258, BOJ_1021 |
| 2 |
Tree |
General Tree, Binary Tree |
BOJ_1991 |
| Priority Queue |
Heap |
BOJ_1927, BOJ_2750, BOJ_2751 |
| 3 |
Binary Search Tree |
Binary Search, Lower bound, Binary Search Tree |
BOJ_1920, BOJ_10816, BOJ_5639 |
| AVL Tree |
BOJ_1920 |
| 4 |
Red-Black Tree |
|
| Graph |
Graph, Graph representation |
|
| 5 |
Graph Traversal(BFS, DFS), Topological Sorting |
BOJ_1260, BOJ_2252 |
| Hash Table |
Hash Table, Collision Handling |
|
| 6 |
DS for PS |
Disjoint set, Segment Tree, Trie |
BOJ_20040, BOJ_2042 |
| Sorting |
Merge sorting, (Randomized) Quick sorting |
BOJ_2750, BOJ_2751 |
| 7 |
Counting Sorting, Radix Sorting |
BOJ_10989, BOJ_2751 |
| Divide-and-Conquer |
Divide-and-Conquer, Recursion Tree |
|
| 8 |
Master Method, Maximum-Subarray Problem |
BOJ_1912 |
| Dynamic Programming |
Eelements of DP, Fibonacci Function, LCS, Kadane's Algorithm(Maximum-Subarray) |
BOJ_9251, BOJ_1912 |
| 9 |
Greedy Algorithms |
Elements of Greedy Algorithms, Change-Making Problem, Activity-Selection Problem |
BOJ_5585, BOJ_1931 |
| Graph Algorithms |
MST (Prim's Algorithm, Kruskal's Algorithm) |
BOJ_1197 |
| 10 |
Strongly Connected Components (Kosaraju's Algorithm, Tarjan's Algorithm) |
BOJ_2150 |
| Shortest Path (Dijksta's Algorithm, Bellman-Ford Algorithm, A* Algorithm, Floyd-Warshall Algorithm) |
BOJ_11657(Bellman-Ford Algorithm), BOJ_1753(Dijkstra's Algorithm), BOJ_11112(A* Algorithm), BOJ_ 11403(Floyd-Warshall Algorithm) |
| 11 |
String Algorithms |
Pattern Matching (KMP Algorithm, Boyer-Moore Algorithm, BMH Algorithm) |
BOJ_1786(KMP Algorithm, Boyer-Moore Algorithm) |
| Multiple Pattern Matching (Aho-Corasick Automata), String Distance (Edit Distance) |
|
| 12 |
Problem Solving |
Problem Classes |
|
| Traveling Salesman Problem, Bit-Masking |
|