Algoritmus hledání souvislých komponent v orientovaném grafu Vstupní data: Orientovaný graf G = (V, E). Úkol: Najít souvislé komponenty v G. Označení: p(v) ­ pořadí uzlu v ve stromu prohledávání, f(v) ­ přímý předchůdce uzlu v ve stromu prohledávání, r(v) ­ pomocná proměnná, D ­ množina povolených uzlů. 1. krok i := 0, D := V 2. krok if D = then zastav else zvol uzel v D, f(v) := 0 3. krok i := i + 1, p(v) := i, r(v) := i 4. krok if z v vede šipka do neoznačeného uzlu w D then f(w) := v, v := w a jdi na 3. krok 5. krok if z v vede šipka do označeného uzlu w D pro který p(w) < r(v) then r(v) := p(w) a jdi na 5. krok 6. krok if f(v) = 0 then všechny uzly w D s p(v) p(w) tvoří komponentu. Vynechej je z D a jdi na 2. krok. 7. krok if p(v) = r(v) then všechny uzly w D s p(v) p(w) tvoří komponentu. Vynechej je z D, v := f(v) a jdi na 4. krok. 8. krok if r(v) < r(f(v)) then r(f(v)) := r(v), v := f(v) a jdi na 4. krok