Category: Blog
-

How to Learn Havel–Hakimi: Degree Sequences, Graphicality, Greedy Realisation and Constructive Graph Theory
A Learning Hall guide to Havel–Hakimi from degree sequences and graphicality through greedy reduction, graph construction, proof ideas, Erdős–Gallai comparison and implementation boundaries.
-

How to Learn Tarjan’s Offline LCA Algorithm: DFS, Union–Find, Ancestor Labels and Batched Tree Queries
A Learning Hall guide to Tarjan’s offline lowest-common-ancestor algorithm from rooted trees and DFS through union–find, ancestor labels, batched queries, invariants and workload trade-offs.
-

How to Learn the Sethi–Ullman Algorithm: Ershov Numbers, Evaluation Order, Register Pressure and Spill-Minimising Code Generation
A Learning Hall guide to the Sethi–Ullman algorithm from expression trees and Ershov numbers through evaluation order, register pressure, spill minimisation and compiler-model boundaries.
-

How to Learn Floyd–Rivest Selection: Sampling, Bracketing, Partitioning and Near-Optimal Expected Comparisons
A Learning Hall guide to Floyd–Rivest selection from order statistics and Quickselect through sampling, bracketing, partitioning, expected comparison bounds and production safeguards.
-

How to Learn the Schorr–Waite Algorithm: Pointer Reversal, Constant-Space Graph Marking, Restoration and Garbage Collection
A Learning Hall guide to the Schorr–Waite algorithm, from DFS stack elimination and pointer reversal through constant-space graph marking, restoration invariants and garbage-collection context.
-

How to Learn Dijkstra–Scholten Termination Detection: Diffusing Computations, Deficits, Acknowledgements and Global Quiescence
A Learning Hall guide to Dijkstra–Scholten termination detection, from in-flight messages and edge deficits to acknowledgement obligations, engagement trees and global quiescence.