Thuật toán Cốt lõi — Tìm kiếm, Sắp xếp & Đồ thị
Tier 2 của track thuật toán: tìm kiếm nhanh (hashing, BST, cây cân bằng, B-tree, trie, bloom filter), sắp xếp (merge/quick/heap/counting/radix, skip list) và đồ thị (BFS, DFS, topo sort, Dijkstra, Bellman-Ford, Floyd-Warshall, MST, DSU). Dẫn bằng ý tưởng + sơ đồ + độ phức tạp, code pseudocode.

Giảng viên
OLHub Team36 bài đã sẵn sàng · Đọc kỹ, không xem video
3 module
Học theo từng phần, không bị nhồi
Trung cấp
Cần nền tảng cơ bản trước
36 bài
Text-first — đọc kỹ, không xem video
~13.4 giờ
Tự nhịp, học theo tốc độ của bạn
Bạn sẽ học được gì
Sau khoá học, bạn sẽ:
Implement hashing (chaining/open-addressing) và cây tìm kiếm (BST, cân bằng, B-tree, trie)
Compare các thuật toán sắp xếp theo time/space/stability và chọn đúng theo dữ liệu
Design graph traversal (BFS/DFS) và shortest-path (Dijkstra/Bellman-Ford/Floyd-Warshall)
Diagnose khi nào một thuật toán FAIL (Dijkstra với cạnh âm, quicksort worst-case, bloom false-positive)
Chương trình
Nội dung khoá học
3 module sẵn sàng · 36 bài. Mỗi bài 18-25 phút đọc kỹ — không xem video, không hype.
01
Tìm kiếm nhanh — Hashing & Tree
12 bài · ~275 phút
- 01Module 1 — Tìm kiếm nhanh: tổng quan10p
- 02Hash function — Uniform, avalanche, và hashCode/equals contract22p
- 03Open addressing — Probing, Robin Hood và vì sao Java chọn chaining22p
- 04Binary search — Invariant, lower/upper bound và search-on-answer22p
- 05BST — Insert, search, delete và tại sao skewed BST là O(n)22p
- 06Self-balancing tree — AVL vs Red-Black và lý do TreeMap chọn RB25p
- 07B-tree & B+tree — Disk fanout, vì sao DB không dùng AVL/RB28p
- 08Trie — Autocomplete, IP routing, và prefix-friendly dictionary22p
- 09Bloom filter — Probabilistic membership với 99% RAM tiết kiệm22p
- 10Mini-challenge — Autocomplete top-K với Trie + frequency30p
- 11Case Study: MySQL InnoDB B+tree index + Redis dict incremental rehash35p
- 12Module 1 — Tổng kết & cheat sheet15p
02
Sắp xếp & thứ tự
11 bài · ~241 phút
- 01Module 2 — Sắp xếp & thứ tự: tổng quan8p
- 02Sorting landscape — Comparison vs non-comparison, lower bound n log n22p
- 03Quadratic sorts — Bubble, Selection, Insertion sort18p
- 04Merge sort — Divide & conquer, stable, foundation cho external sort22p
- 05Quick sort — Pivot, partition, và Dual-Pivot trong JDK22p
- 06Binary heap & Heapsort — Build-heap O(n) và priority queue backbone22p
- 07Counting / Radix / Bucket sort — Non-comparison O(n) khi key range nhỏ20p
- 08Skip list — Probabilistic balanced, dễ implement hơn Red-Black tree22p
- 09Mini-challenge — External merge sort: sort 10GB file với 1GB RAM35p
- 10TimSort & Redis ZSET — sort thắng ở production35p
- 11Module 2 — Tổng kết & cheat sheet15p
03
Đường đi & quan hệ — Graph algorithms
13 bài · ~287 phút
- 01Module 3 — Thuật toán đồ thị: BFS, DFS, Dijkstra, MST10p
- 02Graph representation — Adjacency list vs matrix, trade-off bộ nhớ20p
- 03BFS — Breadth-First Search và unweighted shortest path22p
- 04DFS — Depth-First Search, preorder/postorder, cycle detection22p
- 05Topological sort — Kahn (BFS-based) vs DFS-based, build order DAG22p
- 06Dijkstra — Shortest path trên weighted graph với min-heap25p
- 07Bellman-Ford — Negative weight, detect negative cycle22p
- 08Floyd-Warshall — All-pairs shortest path qua DP-on-graph20p
- 09Minimum Spanning Tree — Kruskal vs Prim, cut property22p
- 10Disjoint Set Union — Near-O(1) với path compression + union by rank22p
- 11Mini-challenge — Maze solver: BFS shortest path + path reconstruction30p
- 12Case Study: Maven DAG build order + Google Maps shortest path35p
- 13Module 3 — Tổng kết & cheat sheet15p
Giảng viên
Ai đứng sau khoá này
OLHub Team
Backend engineers
Backend engineers với kinh nghiệm thực tế trên Java/Spring, PostgreSQL, distributed systems. Tự build và maintain platform này, viết toàn bộ nội dung khoá học theo triết lý “hiểu bản chất, không học vẹt”.
Xem hồ sơ team →Gửi khoá này cho bạn học cùng?
Copy link đã gắn nguồn — dán group, chat, hoặc LinkedIn.
Sẵn sàng bắt đầu?
Học miễn phí, không cần thẻ, không thời hạn. Chỉ cần bạn ngồi xuống đọc kỹ.