Obsah:

Ako implementujete binárny vyhľadávací strom v Jave?
Ako implementujete binárny vyhľadávací strom v Jave?

Video: Ako implementujete binárny vyhľadávací strom v Jave?

Video: Ako implementujete binárny vyhľadávací strom v Jave?
Video: Using Prime Factorization To Find The Greatest Common Factor 2024, Apríl
Anonim

Implementácia binárneho vyhľadávacieho stromu (BST) v jazyku Java

  1. Ľavý podstrom uzla obsahuje iba uzly s kľúčmi menšími ako je kľúč uzla.
  2. Pravý podstrom uzla obsahuje iba uzly s kľúčmi väčšími ako kľúč uzla.
  3. Ľavý a pravý podstrom musí byť tiež a binárny vyhľadávací strom .
  4. Nesmú existovať žiadne duplicitné uzly.

Otázkou tiež je, ako je binárne vyhľadávanie implementované v Jave?

Pozrime sa na príklad binárneho vyhľadávania v jazyku Java, kde budeme hľadať prvok z poľa pomocou rekurzie

  1. class BinarySearchExample1{
  2. public static int binarySearch(int arr, int first, int last, int key){
  3. if (posledný>=prvý){
  4. int mid = prvý + (posledný - prvý)/2;
  5. if (arr[mid] == kľúč){
  6. návrat uprostred;
  7. }

Po druhé, kde používame binárny vyhľadávací strom? Binárny vyhľadávací strom - Použité v mnohých Vyhľadávanie aplikácie, kde údaje neustále vstupujú/odchádzajú, ako napríklad mapa a objekty v knižniciach mnohých jazykov. Binárne Priestorový oddiel - Použité v takmer každej 3D videohre, aby ste určili, aké objekty je potrebné vykresliť.

Len tak, ako sa tvoria binárne stromy?

Vytvorenie binárneho stromu pomocou rekurzie

  1. Prečítajte si údaje v x.
  2. Prideľte pamäť pre nový uzol a uložte adresu do ukazovateľa p.
  3. Uložte údaje x do uzla p.
  4. Rekurzívne vytvorte ľavý podstrom p a urobte z neho ľavého potomka p.
  5. Rekurzívne vytvorte správny podstrom p a urobte z neho správneho potomka p.

Aká je zložitosť binárneho vyhľadávania?

Binárne vyhľadávanie beží v najhoršom logaritmickom čase a robí O(log n) porovnania, kde n je počet prvkov v poli, O je veľké O a log je logaritmus. Binárne vyhľadávanie zaberá konštantný (O(1)) priestor, čo znamená, že priestor zaberaný algoritmom je rovnaký pre ľubovoľný počet prvkov v poli.

Odporúča: