Skip to main content

Was ist ein Suchbaum?

Ein Suchbaum ist eine Datenstruktur, die in der Computerprogrammierung verwendet wird, um eine Liste von Daten zu enthalten und zu organisieren. Jeder Suchbaum besteht aus einem geordneten Satz von Knoten. Diese Knoten können mit Null oder mehr verbunden werdenAndere Knoten. Die einzelnen Knoten enthalten einige Daten sowie Links zu anderen Knoten. Die Daten, die in den Knoten des Baumes enthalten sindEinfügen und entfernen Sie die Knoten mühelos.

Die Knoten eines Suchbaums werden mit vier wichtigen Begriffen beschrieben. Die Oberseite eines Baumes, wo sich der erste Knoten befindet, wird als Wurzel bezeichnet.Wenn ein Knoten Links zu Unternoten enthält, wird dieser Knoten als Elternteil bezeichnet. Knoten, die unter dem Elternteil sindEin Blatt genannt. Also wird ein Wurzelknoten identifiziert, weil er kein Elternteil hat und Blattknoten keine Kinder haben.

Ein Programm kann durch einen Baum, der nach Daten suchtVerwendet, kann diese Suche eine variable Zeit in Anspruch nehmen. Wenn der Suchbaum während des Hinzufügens und Entfernen von Knoten organisiert ist, kann die Suche sehr schnell sein. Wenn ein Baum istzufällig zusammengebaut, ist ungeortiert oder erlaubt mehreren Eltern, die Suche kann sehr lange dauern.

Ein Faktor, der die Verwendung von Suchbäumen beeinflusst, ist das Problem des Gleichgewichts. Ein ausgewogener Baum istEine, bei der sowohl die rechten als auch die linken Kinder des Wurzelknotens entweder die gleiche Tiefe von untergeordneten Knoten enthalten oder sich innerhalb einer Einknotenzahl voneinander befinden. Die Tiefe eines Baumes ist die Anzahl der Knoten vonDas niedrigste Blatt eines Baumes zur Wurzel. Ein unausgeglichener Baum könnte alle Knoten nur auf einer Seite haben oder alle Knoten habenin linearer Weise ohne Zweige angeordnet. Wenn die Tiefe eines Baumes zunimmt, kann die Geschwindigkeit der Suchalgorithmen dramatisch abnehmen.

Es gibt bestimmte Arten von Suchbäumen, die als Selbstausgleich beschrieben werden.Diese Bäume verwenden Operationen wie Baumrotation, um das Gleichgewicht aufrechtzuerhalten und gleichzeitig die Reihenfolge der Daten in den Blättern aufrechtzuerhalten. Obwohl die Durchführung von Baumrotationen ein Programm beim Hinzufügen und Entfernen von Knoten verlangsamen kann, kann es sein.Dies wird durch die Geschwindigkeit kontertzu zwei untergeordneten Knoten. Es gibt nur einen Wurzelknoten, und alle Blätter im Baum werden von links nach rechts in aufsteigenden Werten gemäß den von ihnen gehaltenen Daten bestellt. VieleAlgorithmen existieren für binäre Suchbäume, die Bestelldaten sehr einfach machen können.

Es gibt keinen einzigen Standard iMplementation für Suchbaumknoten. Die Knoten können durch eine Vielzahl von Datenstrukturen dargestellt werden. Arrays von Arrays können verwendet werden, wie sie verknüpfte Listen vervielfachen könnten. Oft verwendet ein Suchbaum einen benutzerdefinierten BereichDatenstruktur, die den Abschluss der erforderlichen Vorgänge des Programms unterstützen soll. Einige Standard -Programmierbibliotheken enthalten sogar ihre eigenen internen Implementierungen von Suchbäumen.