Concepts6
Dominator Tree
A dominator tree summarizes βmust-passβ relationships in a directed graph from a chosen root r: u dominates v if every path from r to v goes through u.
Invariant Maintenance
An invariant is a property you promise to keep true throughout an algorithm, and it is the anchor of both design and correctness proofs.
Amortized Analysis
Amortized analysis measures the average cost per operation over a worst-case sequence, not over random inputs.
Minimum Spanning Tree - Kruskal
Kruskalβs algorithm builds a minimum spanning tree (MST) by sorting all edges by weight and greedily picking the next lightest edge that does not form a cycle.
DSU with Weighted Edges
A DSU with weighted edges (also called a potential or difference-constraint union-find) maintains relative values between elements while still supporting near-constant-time merges and finds.
Disjoint Set Union (Union-Find)
Disjoint Set Union (Union-Find) maintains a collection of non-overlapping sets and supports fast merging and membership queries.