text excised from satisfiability this description of the algorithm was included on the page on sat but was irrelevant there i'll paste it here so bits of it could be integrated into this article if required kosaraju's algorithm performs two depth first searches but is very simple the first search is used only to order the vertices in the reverse of a postorder depth first traversal then the second pass of the algorithm loops through the vertices in this order and for each vertex that has not already been assigned to a component it performs a depth first search of the transpose graph starting from that vertex backtracking when the search reaches a previously assigned vertices the unsassigned vertices reached by this search form a new component