Der Unterschied zwischen binären Baum und binäre Suchbaum

stimmen
282

Kann jemand bitte den Unterschied zwischen erklärt binären Baum und binären Suchbaum mit einem Beispiel ?

Veröffentlicht am 17/06/2011 um 01:42
quelle vom benutzer
In anderen Sprachen...                            


12 antworten

stimmen
498

Binärer Baum: Baum, wobei jeder Knoten bis zu zwei Blättern hat

  1
 / \
2   3

Binäre Suchbaum: Verwendet für die Suche . Ein binärer Baum , wo das linke Kind enthält nur Knoten mit Werten kleiner als der Elternknoten, und wobei das rechte Kind nur enthält Knoten mit Werten größer als oder gleich den Elternteil.

  2
 / \
1   3
Beantwortet am 17/06/2011 um 01:55
quelle vom benutzer

stimmen
30

Ein binärer Baum ist aus Knoten, wobei jeder Knoten einen „linken“ Zeiger enthält, einen „richtigen“ Zeiger, und ein Datenelement. Die „Wurzel“ Zeiger zeigt auf den obersten Knoten im Baum. Die linke und rechte Zeiger zeigen rekursiv auf kleinere „Teilbäume“ auf beiden Seiten. Ein Nullzeiger stellt einen Binärbaum ohne Elemente - den leeren Baum. Die formale rekursive Definition ist: ein binärer Baum ist entweder leer (durch einen Null - Zeiger dargestellt) oder aus einem einzigen Knotenpunkt, wo die linken und rechten Zeiger (rekursive Definition voraus) jeder Punkt auf einen binären Baum gemacht.

Ein binärer Suchbaum (BST) oder „Binärbaum geordnet“ ist eine Art von Binärbaum wobei die Knoten angeordnet sind , um: für jeden Knoten, die alle Elemente in der linken Teilbaum sind weniger mit dem Knoten (<), und alle Elemente in seinem rechten Teilbaum größer ist als der Knoten (>).

    5
   / \
  3   6 
 / \   \
1   4   9    

Der Baum oben gezeigt ist ein binärer Suchbaum - der „Wurzel“ -Knoten ist 5, und sein linker Unterbaum-Knoten (1, 3, 4) <5, und sein rechter Teilbaum-Knoten (6, 9)> 5. rekursives, muss jeder der Teilbäume auch die binäre Bedingung Suchbaum gehorchen: in der (1, 3, 4) Unterstruktur, die 3 ist die Wurzel, die 1 <3 und 4> 3.

Achten Sie auf die genaue Formulierung aus den Problemen - ein „binärer Suchbaum“ von einem „Binärbaum“ unterscheidet.

Beantwortet am 05/07/2012 um 16:32
quelle vom benutzer

stimmen
9

Ein binärer Suchbaum ist eine besondere Art von binärem Baum, der die folgende Eigenschaft aufweist: für jeden Knoten n, ist jeder Nachkommen Knotens Wert in dem linken Teilbaum von n kleiner als der Wert von n, und jedem Nachkommen Knotens Wert in dem rechten Teilbaum größer ist als der Wert von n.

Beantwortet am 27/02/2013 um 14:20
quelle vom benutzer

stimmen
12

Wie jeder oben über den Unterschied zwischen binären Baum und binäre Suchbaum erklärt hat, bin ich das Hinzufügen, wie zu testen, ob die gegebene binären Baum binärer Suchbaum ist.

boolean b = new Sample().isBinarySearchTree(n1, Integer.MIN_VALUE, Integer.MAX_VALUE);
.......
.......
.......
public boolean isBinarySearchTree(TreeNode node, int min, int max)
{

    if(node == null)
    {
        return true;
    }

    boolean left = isBinarySearchTree(node.getLeft(), min, node.getValue());
    boolean right = isBinarySearchTree(node.getRight(), node.getValue(), max);

    return left && right && (node.getValue()<max) && (node.getValue()>=min);

}

Hoffe, es wird Ihnen helfen. Sorry, wenn ich aus dem Thema bin Umleiten, wie ich fühlte es sich lohnt, diese hier zu erwähnen.

Beantwortet am 28/02/2013 um 07:18
quelle vom benutzer

stimmen
51

Binary Tree ist eine spezielle Form des Baumes mit zwei Kind (linkes Kind und rechts Kind). Es ist einfach Darstellung von Daten in Baumstruktur

Binäre Suche Baum (BST) ist eine spezielle Art von Binary Treedie folgende Bedingung folgt:

  1. linker Kindknoten ist kleiner als sein Elternknoten
  2. rechte Kindknoten größer ist als ihre Eltern Knoten
Beantwortet am 01/04/2013 um 14:19
quelle vom benutzer

stimmen
3

Ein binärer Baum ist ein Baum, dessen Kinder sind nie mehr als zwei. Ein binärer Suchbaum folgt die Invariante, dass das linke Kind einen kleineren Wert als der Wurzelknoten des Schlüssel haben sollte, während das rechte Kind einen größeren Wert als der Wurzelknoten des Schlüssel haben sollte.

Beantwortet am 06/06/2013 um 06:21
quelle vom benutzer

stimmen
3

Binäre Suchbaum: wenn Inorder Traversal auf binären Baum gemacht wird, erhalten Sie sortierten Werte der eingefügten Elemente binären Baum: keine sortierter Reihenfolge in jeder Art von Traversal gefunden

Beantwortet am 19/02/2014 um 02:18
quelle vom benutzer

stimmen
1

Um zu überprüfen, wheather oder nicht gegeben Binary Tree ist Binary Search Baum hier ist ein alternativer Ansatz.

Traverse Baum In Inorder Mode (dh linkes Kind -> Eltern -> Right Kind), Shop Traversed Knoten Daten in einer temporären Variablen können sagen , Temperatur , bevor Sie in der Speicherung Temp , prüfen wheather aktuelle Knoten Daten sind höher als vorherige oder nicht . Dann einfach brechen sie aus, ist Baum nicht binärer Suchbaum sonst , bis Ende durchlaufen.

Unten ist ein Beispiel mit Java:

public static boolean isBinarySearchTree(Tree root)
{
    if(root==null)
        return false;

    isBinarySearchTree(root.left);
    if(tree.data<temp)
        return false;
    else
        temp=tree.data;
    isBinarySearchTree(root.right);
    return true;
}

Pflegen Variable TEMP außerhalb

Beantwortet am 04/01/2015 um 17:59
quelle vom benutzer

stimmen
9

Binary Tree steht für eine Datenstruktur , die aus besteht Knoten , die kann nur haben zwei Kinder Referenzen.

Binärer Suchbaum ( BST ) auf der anderen Seite, ist eine spezielle Form von Binary Tree Datenstruktur , wobei jeder Knoten einen vergleichbaren Wert hat, und kleinere bewerteten Kinder an links und größer geschätzt Kinder auf den rechten Seite angebracht.

Somit sind alle BST 's sind Binary Tree jedoch nur einige Binary Tree ' s sein kann , auch BST . Benachrichtigen Sie, dass BST eine Teilmenge von ist Binary Tree .

Also, Binary Tree ist eher eine allgemeine Datenstruktur als binärer Suchbaum . Und auch müssen Sie mitteilen , dass binärer Suchbaum a sortierten Baum während es keine solche Reihe von Regeln für Generika ist Binary Tree .

Binary Tree

A , Binary Treedas ist nicht ein BST;

         5
       /   \
      /     \
     9       2
    / \     / \
  15   17  19  21

Binäre Suche Baum (sortiert Baum)

Ein binärer Suchbaum , der auch a Binary Tree ;

         50
       /    \
      /      \
     25      75
    /  \    /  \
  20    30 70   80

Binäre Suche Baumknoten Eigenschaft

Benachrichtigt auch , dass für jeden übergeordneten Knoten in dem BST ;

  • Alle linken Knoten haben kleinerer Wert als der Wert des Elternknotens. Im oberen Beispiel werden die Knoten mit den Werten {20, 25, 30} , die sich alle auf der linken Seite ( linke Nachkommen ) von 50, sind kleiner als 50.

  • Alle richtigen Knoten haben mehr Wert als der Wert des Elternknotens. Im oberen Beispiel werden die Knoten mit den Werten {70, 75, 80} , die sich alle auf der rechten Seite ( rechte Nachkommen ) von 50, größer sind als 50.

Es gibt keine solche Regel für Binary Tree Knoten. Die einzige Regel für Binary Tree Knoten ist mit zwei Kinder , so dass es selbst erklärt sich, warum genannte binäre .

Beantwortet am 18/03/2016 um 17:41
quelle vom benutzer

stimmen
4

Binärbaum

Binärbaum kann etwas , das 2 Kind und 1 Elternteil hat. Es kann als verkettete Liste oder Array implementiert werden oder mit Ihrem eigenen API. Sobald Sie spezifischere Regeln in sie hinzufügen zu starten, wird es mehr spezialisierten Baum . Die häufigsten bekannten Implementierung ist , dass, fügen Sie kleinere Knoten auf der linken und größere auf der rechten Seite .

Zum Beispiel kann ein markiertes Binärbaum der Größe 9 und Höhe 3, mit einem Wurzelknoten , dessen Wert 2. Baum ist unsymmetrisch und nicht sortiert . https://en.wikipedia.org/wiki/Binary_tree

Geben Sie hier image description

Zum Beispiel wird in der Baumstruktur auf der linken Seite, hat eine die 6 Kinder {B, C, D, E, F, G}. Es kann auf der rechten Seite in den binären Baum umgewandelt werden.

Geben Sie hier image description

Binäre Suche

Binäre Suche ist Technik / Algorithmus, der verwendet wird , bestimmten Punkt Knotenkette zu finden. Binäre Suche funktioniert auf sortierten Arrays .

Binärsuche vergleicht den Zielwert mit dem mittleren Element des Arrays; wenn sie nicht gleich sind, in denen die Hälfte das Ziel nicht liegen kann , wird beseitigt und die Suche geht weiter auf der verbleibenden Hälfte , bis sie erfolgreich ist oder die verbleibende Hälfte ist leer. https://en.wikipedia.org/wiki/Binary_search_algorithm

Geben Sie hier image description

Ein Baum darstellen Binärsuche . Das Array hier gesucht wird ist [20, 30, 40, 50, 90, 100], und der Zielwert 40 beträgt.

Geben Sie hier image description

Binäre Suchbaum

Dies ist einer der Implementierungen von binären Baum. Dies ist darauf spezialisiert , für die Suche .

Binäre Suchbaum und B-Baum - Datenstrukturen werden auf Basis binärer Suche .

Binäre Suchbäume (BST), manchmal genannt bestellt oder Binärbäumen sortierten, sind eine besondere Art von Behältern : Datenstrukturen , die „Elemente“ speichern (wie Nummern, Namen etc.) im Speicher. https://en.wikipedia.org/wiki/Binary_search_tree

Ein binärer Suchbaum mit einer Größe und Tiefe 9 3, bestehend aus 8 an der Wurzel. Die Blätter sind nicht gezeichnet.

Geben Sie hier image description

Und schließlich großes Schema für die Performance-Vergleich von bekannten Datenstrukturen und Algorithmen angewandt:

Geben Sie hier image description

Bild genommen von Algorithmen (4. Auflage)

Beantwortet am 26/05/2017 um 18:45
quelle vom benutzer

stimmen
0

In einem binären Suchbaum alle Knoten in einer bestimmten Reihenfolge angeordnet - Knoten links von einem Wurzelknoten einen kleineren Wert als es root, und alle Knoten rechts von einem Knoten Werte haben, größer als der Wert der Wurzel.

Beantwortet am 28/07/2017 um 21:32
quelle vom benutzer

stimmen
0

Ein Baum kann als binärer Baum genannt werden, wenn und nur dann, wenn die maximale Anzahl der Kinder von einem der Knoten zwei ist.

Ein Baum kann als binären Suchbaum aufgerufen werden, wenn und nur dann, wenn die maximale Anzahl der Kinder von einem des Knoten ist zwei und das linke Kind ist immer kleiner als das rechte Kind.

Beantwortet am 27/05/2019 um 17:09
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more