Algorithmus von Hopcroft und Tarjan
Der Algorithmus von Hopcroft und Tarjan ist ein Algorithmus aus dem mathematischen_Teilgebiet der Graphentheorie. Mit ihm lässt sich in einem beliebigen zusammenhängenden ungerichteten_Graphen ohne Brücken eine Orientierung der Kanten finden, so dass der entstehende gerichtete_Graph stark_zusammenhängend ist. Der Name des Algorithmus geht auf die Computerwissenschaftler John E. Hopcroft und Robert Tarjan zurück.Algorithmus
* Gegeben: zusammenhängender ungerichteter Graph ohne Brücken
* Gesucht: Orientierung von , so dass stark zusammenhängend ist
Der Algorithmus von Hopcroft und Tarjan geht in zwei Schritten vor: Zuerst werden die Kanten eines Gerüstes orientiert, der über Tiefensuche bestimmt wird, anschließend werden die restlichen Kanten orientiert.
Es sei
* die Menge der markierten Knoten,
* die Menge der nicht markierten Knoten,
* die Markierung der Knoten,
* die Menge der Bögen, die durch die Orientierung der Kanten von entstanden sind.
1. Wähle einen beliebigen Knoten von aus, der markiert wird:
:Setze
2. Suche jetzt einen Knoten von , der eine maximale Markierung und gleichfalls adjazent zu einem Knoten aus ist. Markiere jetzt mit . Orientiere anschließend die Kante von zu , so dass der Bogen entsteht.
Der markierte Knoten wird aus entfernt und zu hinzugefügt, und der Bogen wird zu hinzugefügt:
:
Überprüfe, ob alle Knoten markiert wurden: Gilt , dann wiederhole Schritt 2.
3. Es gilt:
* Alle Knoten wurden markiert: ,
* ein Gerüst von ist orientiert.
Es lässt sich beweisen, dass alle Kanten, die jetzt noch keine Richtung haben, immer zwei Knoten mit unterschiedlicher Markierung verbinden. Jede nicht orientierte Kante mit wird nun von nach orientiert, d.h. vom Knoten mit der größeren zum Knoten mit der kleineren Markierung, und zu hinzugefügt.
Die auf diese Weise konstruierte Orientierung des Graphen ist stark zusammenhängend.

