Inhoudsopgave:

Hoe implementeer je een binaire zoekboom in Java?
Hoe implementeer je een binaire zoekboom in Java?

Video: Hoe implementeer je een binaire zoekboom in Java?

Video: Hoe implementeer je een binaire zoekboom in Java?
Video: Binary Search Tree in Java - 1 : Create Binary Search Tree 2024, April
Anonim

Een binaire zoekboom (BST) in Java implementeren

  1. De linker substructuur van een knooppunt bevat alleen knooppunten met sleutels die kleiner zijn dan de sleutel van het knooppunt.
  2. De rechter substructuur van een knooppunt bevat alleen knooppunten met sleutels die groter zijn dan de sleutel van het knooppunt.
  3. De linker en rechter subboom moeten elk ook a. zijn binaire zoekboom .
  4. Er mogen geen dubbele knooppunten zijn.

De vraag is ook, hoe wordt binair zoeken geïmplementeerd in Java?

Laten we een voorbeeld bekijken van binair zoeken in Java, waarbij we een element uit een array gaan zoeken met behulp van recursie

  1. class BinarySearchExample1{
  2. public static int binarySearch(int arr, int first, int last, int key){
  3. if (laatste>=eerste){
  4. int mid = eerste + (laatste - eerst)/2;
  5. if (arr[mid] == sleutel){
  6. terugkeer midden;
  7. }

Ten tweede, waar gebruiken we de binaire zoekboom? Binaire zoekboom - Gebruikt in veel zoeken toepassingen waar gegevens constant binnenkomen/verlaten, zoals de kaart en setobjecten in bibliotheken van vele talen. binair Ruimte partitie - Gebruikt in bijna elke 3D-videogame om te bepalen welke objecten moeten worden weergegeven.

Zo, hoe worden binaire bomen gevormd?

Creëren van binaire boom met behulp van recursie

  1. Lees een gegevens in x.
  2. Wijs geheugen toe aan een nieuwe node en sla het adres op in pointer p.
  3. Sla de gegevens x op in het knooppunt p.
  4. Maak recursief de linker subboom van p en maak deze het linker kind van p.
  5. Creëer recursief de juiste subboom van p en maak deze het juiste kind van p.

Wat is de complexiteit van binair zoeken?

Binaire zoekopdracht loopt in de slechtste logaritmische tijd, waardoor O (log n) vergelijkingen worden gemaakt, waarbij n het aantal elementen in de array is, de O de Big O-notatie is en log de logaritme is. Binaire zoekopdracht neemt constante (O(1)) ruimte in, wat betekent dat de ruimte die het algoritme inneemt hetzelfde is voor een willekeurig aantal elementen in de array.

Aanbevolen: