Inhaltsverzeichnis:

Wie implementieren Sie einen binären Suchbaum in Java?
Wie implementieren Sie einen binären Suchbaum in Java?

Video: Wie implementieren Sie einen binären Suchbaum in Java?

Video: Wie implementieren Sie einen binären Suchbaum in Java?
Video: Binäre Bäume - Suchverfahren 1 2024, März
Anonim

Implementieren eines binären Suchbaums (BST) in Java

  1. Der linke Teilbaum eines Knotens enthält nur Knoten mit Schlüsseln kleiner als der Schlüssel des Knotens.
  2. Der rechte Teilbaum eines Knotens enthält nur Knoten mit Schlüsseln, die größer als der Schlüssel des Knotens sind.
  3. Der linke und der rechte Teilbaum müssen ebenfalls jeweils a. sein Binärer Suchbaum .
  4. Es dürfen keine doppelten Knoten vorhanden sein.

Die Frage ist auch, wie die binäre Suche in Java implementiert wird.

Sehen wir uns ein Beispiel für die binäre Suche in Java an, bei dem wir ein Element aus einem Array mithilfe von Rekursion durchsuchen

  1. Klasse BinarySearchExample1{
  2. public static int binarySearch(int arr, int zuerst, int zuletzt, int key){
  3. if (letzter>=erster){
  4. int mid = erster + (letzter - erster)/2;
  5. if (arr[mid] == Taste){
  6. Rückkehr Mitte;
  7. }

Zweitens, wo verwenden wir den binären Suchbaum? Binärer Suchbaum - Gebraucht in vielen Suche Anwendungen, bei denen ständig Daten ein- und austreten, wie z. B. die Karte und Satzobjekte in Bibliotheken vieler Sprachen. Binär Raumaufteilung - Gebraucht in fast jedem 3D-Videospiel, um zu bestimmen, welche Objekte gerendert werden müssen.

Wie werden binäre Bäume gebildet?

Erstellung eines Binärbaums mit Rekursion

  1. Lesen Sie eine Daten in x.
  2. Weisen Sie einem neuen Knoten Speicher zu und speichern Sie die Adresse im Zeiger p.
  3. Speichern Sie die Daten x im Knoten p.
  4. Erstellen Sie rekursiv den linken Teilbaum von p und machen Sie ihn zum linken Kind von p.
  5. Erstellen Sie rekursiv den rechten Teilbaum von p und machen Sie ihn zum rechten Kind von p.

Was ist die Komplexität der binären Suche?

Binäre Suche läuft in der schlechtesten logarithmischen Zeit und führt O(log n)-Vergleiche durch, wobei n die Anzahl der Elemente im Array ist, das O die Big-O-Notation ist und log der Logarithmus. Binäre Suche nimmt konstanten (O(1)) Platz ein, was bedeutet, dass der vom Algorithmus eingenommene Platz für eine beliebige Anzahl von Elementen im Array gleich ist.

Empfohlen: