it-swarm.com.de

Was ist der Unterschied zwischen Baumtiefe und -höhe?

Dies ist eine einfache Frage aus der Algorithmentheorie.
Der Unterschied besteht darin, dass Sie in einem Fall die Anzahl der Knoten und in einem anderen Fall die Anzahl der Kanten auf dem kürzesten Weg zwischen Wurzel und konkretem Knoten zählen.
Welcher ist welcher?

205

Ich habe gelernt, dass Tiefe und Höhe Eigenschaften eines Knotens sind :

  • Die Tiefe eines Knotens ist die Anzahl der Kanten vom Knoten zum Wurzelknoten des Baums.
    Ein Wurzelknoten hat eine Tiefe von 0.

  • Das Höhe eines Knotens ist die Anzahl der Kanten auf dem längsten Pfad vom Knoten zu einem Blatt.
    Ein Blattknoten hat eine Höhe von 0.

Eigenschaften eines Baumes :

  • Das Höhe eines Baumes wäre die Höhe seines Wurzelknotens,
    oder äquivalent die Tiefe seines tiefsten Knotens.

  • Das Durchmesser (oder Breite) eines Baums ist die Anzahl der Knoten auf dem längsten Pfad zwischen zwei beliebigen Blattknoten. Der Baum darunter hat einen Durchmesser von 6 Knoten.

A tree, with height and depth of each node

519

höhe und Tiefe eines Baumes sind gleich ...

aber Höhe und Tiefe eines Knotens sind nicht gleich, weil ...

die Höhe wird berechnet, indem vom angegebenen Knoten zum tiefstmöglichen Blatt übergegangen wird.

die Tiefe berechnet sich aus dem Übergang von der Wurzel zum angegebenen Knoten.

34
Praveen_Shukla

Nach Angaben von Cormen et al. Einführung in Algorithmen (Anhang B.5.3): Die Tiefe eines Knotens X in einem Baum T ist definiert als die Länge des einfachen Pfades (Anzahl der Kanten) vom Wurzelknoten von T zu X. Die Höhe eines Knotens Y ist Die Anzahl der Kanten auf dem längsten einfachen Abwärtspfad von Y zu einem Blatt. Die Höhe eines Baumes ist definiert als die Höhe seines Wurzelknotens.

Beachten Sie, dass ein einfacher Pfad ein Pfad ohne wiederholte Eckpunkte ist.

Die Höhe eines Baumes ist gleich der maximalen Tiefe eines Baumes . Die Tiefe eines Knotens und die Höhe eines Knotens sind nicht unbedingt gleich. Siehe Abbildung B.6 der 3. Auflage von Cormen et al. zur Veranschaulichung dieser Konzepte.

Ich habe manchmal Probleme damit gesehen, Knoten (Eckpunkte) anstelle von Kanten zu zählen. Bitten Sie daher um Klärung, wenn Sie nicht sicher sind, ob Sie während einer Prüfung oder eines Vorstellungsgesprächs Knoten oder Kanten zählen sollen.

14
glacier

Einfache Antwort:
Tiefe:
1. Baum: Anzahl der Kanten/Bogen vom Wurzelknoten zum Blattknoten des Baums wird als Tiefe des Baums bezeichnet.
2. Knoten: Anzahl der Kanten/Bogen vom Wurzelknoten zu diesem Knoten wird als Tiefe dieses Knotens bezeichnet.

3
Akshay Sahu

Ich wollte diesen Beitrag machen, weil ich ein Student der Grundschule bin und immer mehr OpenDSA und andere Open-Source-Lehrbücher verwenden. Aus der bestbewerteten Antwort geht hervor, dass sich die Art und Weise, wie Höhe und Tiefe unterrichtet werden, von einer Generation zur nächsten geändert hat, und ich poste dies, damit jeder weiß, dass diese Diskrepanz jetzt besteht und hoffentlich keine Fehler mehr verursacht Programme! Vielen Dank.

Aus dem OpenDSA Data Structures & Algos-Buch :

Wenn n1n2, ..., nk ist eine Folge von Knoten im Baum, so dass nich ist das Elternteil von nich+1 für 1 <= i <k, dann heißt diese Folge Pfad von n1 bis nk. Die Länge des Pfades beträgt k − 1. Wenn es einen Pfad von Knoten R zu Knoten M gibt, ist R ein Vorfahr von M und M ein Nachfahre von R. Somit sind alle Knoten im Baum Nachkommen der Wurzel des Baums, während die Wurzel der Vorfahre ist aller Knoten. Die Tiefe eines Knotens M im Baum ist die Länge des Pfades von der Wurzel des Baums bis M. Die Höhe eines Baums ist um eins höher als die Tiefe des tiefsten Knotens im Baum. Alle Knoten der Tiefe d befinden sich auf der Ebene d im Baum. Die Wurzel ist der einzige Knoten auf Ebene 0 und seine Tiefe ist 0.

Figure 7.2.1

Abbildung 7.2.1: Ein Binärbaum. Node A ist die Wurzel. Knoten B und C sind die Kinder von A. Knoten B und D bilden zusammen einen Teilbaum. Node= B hat zwei Kinder: Sein linkes Kind ist der leere Baum und sein rechtes Kind ist D. Die Knoten A, C und E sind Vorfahren von G. Die Knoten D, E und F bilden die Ebene 2 des Baums, der Knoten A befindet sich auf Ebene 0. Die Kanten von A bis C bis E bis G bilden einen Pfad der Länge 3. Die Knoten D, G, H und I sind Blätter, die Knoten A, B, C, E und F. Die Tiefe von I ist 3. Die Höhe davon Baum ist 4.

0
ashtree

Ein anderer Weg, um dieses Konzept zu verstehen, ist folgender: Tiefe: Zeichnen Sie eine horizontale Linie an der Wurzelposition und behandeln Sie diese Linie als Grund. Die Tiefe der Wurzel ist also 0, und alle untergeordneten Elemente werden nach unten vergrößert, sodass jede Knotenebene die aktuelle Tiefe + 1 hat.

Höhe: Gleiche horizontale Linie, aber diesmal ist die Bodenposition ein externer Knoten, der das Blatt des Baumes ist und aufwärts zählt.

0
Wilson Zhang