Heim > häufiges Problem > Es gibt mehrere Möglichkeiten, einen Binärbaum zu implementieren

Es gibt mehrere Möglichkeiten, einen Binärbaum zu implementieren

藏色散人
Freigeben: 2020-06-29 09:55:04
Original
3300 Leute haben es durchsucht

Es gibt zwei Möglichkeiten, Binärbäume zu implementieren: 1. Sequentielle Speicherung, die sich auf die Verwendung einer Sequenztabelle zum Speichern von Binärbäumen bezieht und nur auf vollständige Binärbäume anwendbar ist; 2. Verkettete Speicherung, wenn Speichern von Binärbäumen im Link-Modus. Zusätzlich zum Speichern der Daten des Knotens selbst sollte ein Knoten auch zwei Zeigerfelder lchild und rchild festlegen.

Es gibt mehrere Möglichkeiten, einen Binärbaum zu implementieren

Binärbaum

Fünf Grundformen: leerer Binärbaum, Binärbaum mit nur Wurzelknoten, Binärbaum mit nur Wurzelknoten Binärbaum mit Knoten und linkem Teilbaum TL, Binärbaum mit nur Wurzelknoten und rechtem Teilbaum TR, Binärbaum mit Wurzelknoten, linkem Teilbaum TL und rechtem Teilbaum TR

Andere Binärbäume: schief Binärbaum, vollständiger Binärbaum, perfekter Binärbaum

Implementierungsmethode: sequentielle Speicherung, verkettete Speicherung

Sequentielle Speicherung von Binärbäumen bezieht sich auf die Verwendung sequentieller Tabellen (Arrays). Binärbäume speichern. Es ist zu beachten, dass die sequentielle Speicherung nur für vollständige Binärbäume gilt. Mit anderen Worten: Mit sequentiellen Tabellen können nur vollständige Binärbäume gespeichert werden. Wenn wir also gewöhnliche Binärbäume sequentiell speichern möchten, müssen wir den gewöhnlichen Binärbaum im Voraus in einen vollständigen Binärbaum umwandeln.

Jeder Knoten eines Binärbaums hat höchstens zwei Kinder. Beim Speichern eines Binärbaums im Link-Modus sollte jeder Knoten zusätzlich zum Speichern der Daten des Knotens selbst auch zwei Zeigerfelder lchild und rchild festlegen, die auf das linke bzw. rechte untergeordnete Element des Knotens zeigen.

Das obige ist der detaillierte Inhalt vonEs gibt mehrere Möglichkeiten, einen Binärbaum zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage