link

a digraph is a SCC iff it has an ear decomposition

proof:
forward direction (ear decomposition ⇒ scc) is trivial
to show scc ⇒ ear decomposition, we can start with any cycle (this can be a single node)
WLOG, assume this cycle is just node 1.
then, at each step:
let 𝑣 be a node not currently in our component.
Let the path 1−−−𝑣−−−shortest path back to CC−−−CC be the next ear.

after all nodes are added, join all remaining single edges