Phân bố các chủ đề theo tháng
- Làm rõ pre-requisite: các bạn phải nắm được kiến thức cơ bản về lập trình (ở ít nhất 1 nn), và các đơn vị kiến thức sau ở DSA:
- Ước lượng ĐPT thuật toán.
- Các thuật toán sắp xếp.
- Làm rõ rằng lớp đi sâu vào thực hành, người hướng dẫn sẽ chú trọng tư duy tiếp cận thuật toán, nhiều hơn lý thuyết. Lý thuyết bạn có thể tìm được nguồn đọc lại ở bất cứ đâu, người hướng dẫn sẽ gửi nguồn lý thuyết cho các bạn, đồng thời sẽ hướng dẫn qua slide cho các bạn.
# Tháng 9
1. Refresher (Knowledge Checkup) (20p)
- Coding Techniques (vòng lặp, đệ quy)
- -> hỏi cấu trúc vòng for
- Xác định độ phức tạp thuật toán.
- Bộ nhớ, thời gian
- -> làm bài đếm số ký tự từng loại trong O(n)
- Basic Data Structures (Refresher):
- Arrays & Strings
- Key-Value DS (Hash Table, Map)
2. Binary Search
- Sorting (Refresher)
- Searching for an element
- -> First Bad Version
- Searching for the answer on the Natural/Integer set.
- Monotonic Stack (introduction) -> cho vài bài monotonic stack để thử trình độ học viên, nếu oke rồi thì không cần quay lại.
3. Linked List
- Linked list
- Kỹ thuật đệ quy
- Kỹ thuật slow-fast ptr
4. Graph #1
- Biểu diễn graph
- Các kỹ thuật search
- Shortest Path
- Floyd-Warshall
- Dijkstra
# Tháng 10
1. Two Pointer Algorithm
- Slow/Fast Pointer
- Sliding Windows
2. Binary Trees
- Binary Tree
- Tries (Prefix Tree)
3. Dynamic Programming #1
- Techniques: Top-Down approach, Bottom-up Approach -> Nhấn mạnh xem sử dụng approach nào cho bài nào.
- 4 yếu tố cần định nghĩa từ một bài DP?
- Prefix Sum Techniques (40% số bài)
4. Graph #2
- Tree + DP on Tree
- Topological Sorting
5. Tổ chức giải Duel cho các học viên tháng 9 & tháng 10 + chuyên đề tổng hợp (ít bài hơn bthg).
# Tháng 11
1. Backtracking
2. Math
- Prime sieve & Prime factorizations.
- Bitwise Operation
- Pow, Sqrt, GCD, LCM
- Number Theory
3. Union Find & Graph #3
- Minimum Spanning Tree
- Connected Regions
4. Dynamic Programming #2
# Tháng 12
1. Stack & Queue
2. Divide & Conquer
3. Dynamic Programming #3
4. Dynamic Programming #4
5. Tổ chức giải Duel cho các học viên tháng 9 & tháng 10 + chuyên đề tổng hợp (ít bài hơn bthg).