Adjacency list — where it appears
Named by 2 essays across 2 fields — each of them below, with the objects they name alongside it.
The adversary who hides the edge
The floor under comparison sorting comes from counting outputs — n! of them, so log₂(n!) comparisons. Connectivity has two outputs, so the same argument gives a floor of one comparison, which is useless. A different kind of argument gives Ω(E), and having both on the site is the point: lower bounds are not one technique.
A list and a block of memory
The same traversal, over the same graph, examining the same edges in the same order, laid out two ways. Twelve thousand two hundred and eighty-eight edge slots either way; 11,812 modelled cache misses against 3,258. This is the site's largest gap between two counts of one run, and it exists because one of the layouts is a pointer chase and the other is a sweep.
Named alongside it
The objects these essays reach for when they reach for this one.
AdjacencyTraversalAdversary argumentCacheConnectivityCSR (compressed sparse row)Decision treeDistributionEvasivenessLocalityLower boundMemory layout