Heim> Java> javaLernprogramm> Hauptteil

Graphdurchquerungen

WBOY
Freigeben: 2024-08-10 06:45:09
Original
389 Leute haben es durchsucht

Tiefe zuerst und Breite zuerst sind zwei gängige Methoden zum Durchlaufen eines Diagramms.
Graph-Traversalist der Prozess, bei dem jeder Scheitelpunkt im Diagramm genau einmal besucht wird. Es gibt zwei gängige Methoden zum Durchqueren eines Diagramms:Tiefendurchquerung(oderTiefensuche) undBreitendurchquerung(oderBreitensuche). Beide Durchläufe führen zu einem Spanning Tree, der mithilfe einer Klasse modelliert werden kann, wie in der Abbildung unten dargestellt. Beachten Sie, dassTreeeine innere Klasse ist, die in der KlasseAbstractGraphdefiniert ist.AbstractGraph.Treeunterscheidet sich von der in „Suchen nach einem Element“ definiertenTree-Schnittstelle.AbstractGraph.Treeist eine spezielle Klasse zur Beschreibung der Eltern-Kind-Beziehung der Knoten, während dieTree-Schnittstelle allgemeine Vorgänge wie Suchen, Einfügen und Löschen in einem Baum definiert. Da diese Operationen für einen Spanning Tree nicht ausgeführt werden müssen, istAbstractGraph.Treenicht als Untertyp vonTree.

definiert

Graph Traversals

DieTree-Klasse ist als innere Klasse in derAbstractGraph-Klasse in den Zeilen 226–293 in AbstractGraph.java definiert. Der Konstruktor erstellt einen Baum mit der Wurzel, den Kanten und einer Suchreihenfolge.

Die KlasseTreedefiniert sieben Methoden. Die MethodegetRoot()gibt die Wurzel des Baums zurück. Sie können die Reihenfolge der gesuchten Scheitelpunkte ermitteln, indem Sie die MethodegetSearchOrder()aufrufen. Sie könnengetParent(v)aufrufen, um das übergeordnete Element des Scheitelpunktsvin der Suche zu finden. Der Aufruf vongetNumberOfVerticesFound()gibt die Anzahl der gesuchten Scheitelpunkte zurück. Die MethodegetPath(index)gibt eine Liste von Scheitelpunkten vom angegebenen Scheitelpunktindex bis zur Wurzel zurück. Durch Aufrufen vonprintPath(v)wird ein Pfad vom Stammverzeichnis zuvangezeigt. Sie können alle Kanten im Baum mit der MethodeprintTree()anzeigen.

Das obige ist der detaillierte Inhalt vonGraphdurchquerungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!