Category: Blog
-

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.
-

Sethi–Ullman Algorithm | Register Allocation Learning Guide
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.
-

How to Learn Pratt Parsing: Binding Power, Prefix/Infix Parselets, Precedence, Associativity and Expression Parsers
A Learning Hall guide to Pratt parsing, from binding power and prefix/infix parselets through associativity, AST construction, diagnostics and professional expression-parser design.