Algoritmul Acesta este format din mai multi pasi: • Se realizeaza o parcurgere a grafului (dfs) prin care introducem nodurile in stiva • Daca putem gasi nodul “cap” pentru un subgraf, afisam toate nodurile acelui subgraf, inclusiv nodul cap si acel subgraf poate fi considerat o componenta tare conexa a grafului.
• Pentru a calcula capul unei componente conexe, calculam
vectorii viz si low, unde vectorul low ne indica nodul cu cel mai mic timp de descoperire care poate fi atins din nodul “nod”. Vectorul viz retine in cati pasi am putut ajunge la fiecare nod in parte. Un nod este cap daca viz[nod] este egal cu low[nod]. Complexitate
• Algoritmul lui Tarjan are un timp de rulare liniar in numarul
de muchii si noduri ale grafului, O(|V| + |E|), datorita faptului ca functia “dfs” este apelata o data pentru fiecare nod in parte. Un mic exemplu 1 2 4