Finding Strong Components Using Depth-First Search