Học tập – Rèn luyện vì ngày mai lập nghiệp
Thầy Chiến Tin 247 Chuyên Trần Phú - Elearning CodePath
📘 Lộ trình học lập trình
Từng bước chinh phục các kỹ năng lập trình & thuật toán từ cơ bản đến chuyên sâu ✨
🧩 Giai đoạn 1: Làm quen với thuật toán và cấu trúc cơ bản
Khởi đầu hành trình với biến, vòng lặp, và tư duy thuật toán đơn giản.
- 1.1. Biến, kiểu dữ liệu và nhập xuất
- 1.2. Cấu trúc điều kiện (if / else)
- 1.3. Vòng lặp for / while
⚙️ Giai đoạn 2: Cấu trúc dữ liệu cơ bản & hàm
Biết cách lưu trữ, truy cập và xử lý dữ liệu có cấu trúc; chia nhỏ chương trình thành các hàm để dễ bảo trì và mở rộng.
- 2.1. Mảng 1D và 2D
- 2.2. Chuỗi ký tự
- 2.3. Hàm và truyền tham trị / tham chiếu
- 2.4. Đọc và ghi file
📊 Giai đoạn 3: Thuật toán cơ bản và độ phức tạp
Hiểu bản chất của thuật toán, cách phân tích độ phức tạp và chọn giải pháp tối ưu hơn.
- 3.1. Tìm kiếm tuyến tính & nhị phân
- 3.2. Các thuật toán sắp xếp cơ bản
- 3.3. Độ phức tạp thuật toán
🧠 Giai đoạn 4: Tư duy giải thuật & bài toán thực tế
Áp dụng thuật toán vào các bài toán mô phỏng, thống kê, và xử lý dữ liệu thực tế.
- 4.1. Bài toán đếm & tính toán
- 4.2. Thống kê & tìm kiếm dữ liệu
- 4.3. Xử lý dãy số & chuỗi dữ liệu
- 4.4. Bài toán mô phỏng thực tế
🔁 Giai đoạn 5: Đệ quy & chia để trị
Hiểu cách chia nhỏ bài toán và sử dụng lời gọi đệ quy để giải quyết hiệu quả hơn.
- 5.1. Đệ quy cơ bản
- 5.2. Chia để trị (Divide and Conquer)
- 5.3. Merge Sort & Quick Sort
📈 Giai đoạn 6: Quy hoạch động (Dynamic Programming)
Tối ưu hóa bài toán bằng cách ghi nhớ trạng thái và kết quả trung gian.
- 6.1. Fibonacci tối ưu (Memoization)
- 6.2. Bài toán Balo (Knapsack)
- 6.3. Dãy con tăng dài nhất (LIS)
🎯 Giai đoạn 7: Quay lui & nhánh cận (Backtracking)
Duyệt toàn bộ không gian nghiệm và cắt tỉa nhánh không cần thiết để tối ưu thời gian.
- 7.1. Sinh tổ hợp & hoán vị
- 7.2. N-Queens
- 7.3. Sudoku Solver
🧱 Giai đoạn 8: Cấu trúc dữ liệu nâng cao
Sử dụng các cấu trúc dữ liệu mạnh để tăng tốc độ xử lý và tối ưu lưu trữ.
- 8.1. Stack, Queue, Deque
- 8.2. Linked List
- 8.3. Hash Table & Priority Queue
🌉 Giai đoạn 9: Đồ thị cơ bản
Làm quen khái niệm đỉnh, cạnh, cách duyệt đồ thị và tìm liên thông.
- 9.1. Biểu diễn đồ thị
- 9.2. DFS & BFS
- 9.3. Thành phần liên thông
🌍 Giai đoạn 10: Đồ thị nâng cao
Học các thuật toán tìm đường, cây bao trùm nhỏ nhất và đồ thị có trọng số.
- 10.1. Dijkstra, Bellman-Ford
- 10.2. Floyd–Warshall
- 10.3. MST: Kruskal & Prim
🌲 Giai đoạn 11: Cây & cấu trúc đặc biệt
Hiểu và sử dụng các loại cây để truy vấn & cập nhật dữ liệu nhanh chóng.
- 11.1. Cây nhị phân & Binary Search Tree (BST)
- 11.2. Cây cân bằng (AVL, Red-Black Tree)
- 11.3. Segment Tree & Fenwick Tree (BIT)
- 11.4. Trie & Union-Find
📐 Giai đoạn 12: Lý thuyết số và toán ứng dụng
Ứng dụng các công cụ toán học trong lập trình để xử lý bài toán chia hết, modulo và tổ hợp.
- 12.1. GCD, LCM & Euclid mở rộng
- 12.2. Modulo & nghịch đảo
- 12.3. Sàng Eratosthenes
- 12.4. Tổ hợp & phân tích số
🔤 Giai đoạn 13: Chuỗi và xử lý văn bản
Học các thuật toán xử lý chuỗi mạnh mẽ – từ tìm kiếm, so khớp mẫu đến kiểm tra đối xứng.
- 13.1. KMP & Z-algorithm
- 13.2. Rolling Hash
- 13.3. Palindrome & Substring
- 13.4. Pattern Matching nâng cao
🚀 Giai đoạn 14: Luyện thi & kỹ năng thi đấu
Tổng hợp toàn bộ kiến thức để luyện thi HSG, Olympic Tin học và kỹ năng lập trình cạnh tranh.
- 14.1. Phân tích & tối ưu độ phức tạp
- 14.2. Bài tổng hợp: DP + Graph + Math
- 14.3. Kỹ thuật debug & code sạch
- 14.4. Chiến lược thi đấu & quản lý thời gian
💳 Quét mã ủng hộ tuỳ tâm nhé!