pub fn dfs(g: &Adjacency, s: usize) -> Vec<usize>
DFS pre-order from s over the directed out view (lowest-index neighbour first, so it’s deterministic). Includes s first.
s
out