Indholdsfortegnelse:

Hvordan implementerer du et binært søgetræ i Java?
Hvordan implementerer du et binært søgetræ i Java?

Video: Hvordan implementerer du et binært søgetræ i Java?

Video: Hvordan implementerer du et binært søgetræ i Java?
Video: Binary Search Tree in Java - 1 : Create Binary Search Tree 2024, April
Anonim

Implementering af et binært søgetræ (BST) i Java

  1. Det venstre undertræ af en node indeholder kun noder med nøgler mindre end nodens nøgle.
  2. Det højre undertræ af en node indeholder kun noder med nøgler, der er større end nodens nøgle.
  3. Det venstre og højre undertræ skal hver også være en binært søgetræ .
  4. Der må ikke være duplikerede noder.

Spørgsmålet er også, hvordan implementeres binær søgning i Java?

Lad os se et eksempel på binær søgning i java, hvor vi skal søge et element fra et array ved hjælp af rekursion

  1. klasse BinarySearchExample1{
  2. public static int binarySearch(int arr, int first, int last, int key){
  3. if (sidste>=første){
  4. int mid = første + (sidste - første)/2;
  5. if (arr[mid] == tast){
  6. returnere midt;
  7. }

For det andet, hvor bruger vi binært søgetræ? Binært søgetræ - Brugt i mange Søg applikationer, hvor der hele tiden kommer data ind/ud, såsom kortet og sæt objekter i mange sprogs biblioteker. Binær Space Partition - Brugt i næsten alle 3D-videospil for at bestemme, hvilke objekter der skal gengives.

Bare så, hvordan dannes binære træer?

Oprettelse af binært træ ved hjælp af rekursion

  1. Læs en data i x.
  2. Tildel hukommelse til en ny node og gem adressen i markøren s.
  3. Gem data x i noden p.
  4. Opret rekursivt det venstre undertræ af p og gør det til venstre underordnet af p.
  5. Opret rekursivt det rigtige undertræ af p og gør det til det rigtige underordnede af p.

Hvad er kompleksiteten af binær søgning?

Binær søgning løber ind på det værste logaritmiske tidspunkt og laver O(log n) sammenligninger, hvor n er antallet af elementer i arrayet, O er Big O notationen, og log er logaritmen. Binær søgning tager konstant (O(1)) plads, hvilket betyder, at pladsen optaget af algoritmen er den samme for et hvilket som helst antal elementer i arrayet.

Anbefalede: