- I am the main tutor of the group study for workers who are not major in Computer Science or Computer Engineering.
- I teach them some basic data structures and some basic algorithms.
- The source codes in this repository are the examples I proposed to members as practice.
- Source codes are provided as jupyter notebook files.
- Some examples of implementing a data structure or an algorithm are provided in discrete files. But most of source codes (solutions of BOJ) are provided in a file.
| 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 |