Kosaraju’s Algorithm ist ein effizienter Ansatz zur Bestimmung der stark zusammenhängenden Komponenten (SCCs) eines gerichteten Graphen. Der Algorithmus besteht aus zwei Hauptschritten: Zuerst wird eine Tiefensuche (DFS) auf dem ursprünglichen Graphen durchgeführt, um die Finishzeiten der Knoten zu erfassen. Anschließend wird der Graph umgedreht (d.h. alle Kanten werden in die entgegengesetzte Richtung umgekehrt), und eine weitere Tiefensuche wird in der Reihenfolge der abnehmenden Finishzeiten durchgeführt. Die Knoten, die während dieser zweiten DFS gemeinsam besucht werden, bilden eine SCC. Der gesamte Prozess hat eine Zeitkomplexität von , wobei die Anzahl der Knoten und die Anzahl der Kanten im Graphen ist.
Starte dein personalisiertes Lernelebnis mit acemate. Melde dich kostenlos an und finde Zusammenfassungen und Altklausuren für deine Universität.