Category: Blog
-

How to Learn Binary Trees and Traversals: Preorder, Inorder, Postorder and Level Order
A beginner-to-professional learning manual for binary trees and traversal: build the tree model, trace recursive and iterative traversals, connect order to purpose, test edge cases, and transfer the idea into real algorithm design.
-

How to Learn String-Matching Algorithms: Brute Force, KMP, Rabin–Karp and Boyer–Moore
A beginner-to-professional learning manual for exact string matching: establish the brute-force baseline, learn how KMP reuses prefix information, understand Rabin–Karp fingerprints and Boyer–Moore skips, then evaluate real text-search workloads.
-

How to Learn Union-Find: Connectivity, Representatives, Weighting and Path Compression
A beginner-to-professional learning manual for union-find and disjoint sets: model connected components, trace find and union, understand weighting and path compression, and reason about amortized performance and real applications.
-

How to Learn Heaps and Priority Queues: Invariants, Swim, Sink and Heapify
A beginner-to-professional learning manual for heaps and priority queues: understand the abstract job, trace heap order in an array, master swim and sink, reason about heapify and complexity, and choose priority-queue designs for real workloads.
-

How to Learn Hash Tables: Hash Functions, Collisions, Load Factor and Rehashing
A beginner-to-professional learning manual for hash tables: model key-to-slot mapping, trace collisions, compare chaining and probing, understand load factor and rehashing, and evaluate real engineering trade-offs.
-

How to Learn Divide-and-Conquer Algorithms: Split, Solve, Combine and Analyse the Recurrence
A Learning Hall guide to mastering divide-and-conquer algorithms by defining subproblems, combining results, writing recurrences, proving correctness and understanding when the paradigm helps.