Turinys:

Kaip įdiegti dvejetainį paieškos medį Java?
Kaip įdiegti dvejetainį paieškos medį Java?

Video: Kaip įdiegti dvejetainį paieškos medį Java?

Video: Kaip įdiegti dvejetainį paieškos medį Java?
Video: Binary Search Tree in Java - 1 : Create Binary Search Tree 2024, Balandis
Anonim

Dvejetainės paieškos medžio (BST) diegimas Java

  1. Kairiajame mazgo pomedyje yra tik mazgai, kurių raktai yra mažesni už mazgo raktą.
  2. Dešiniajame mazgo pomedyje yra tik mazgai, kurių raktai yra didesni už mazgo raktą.
  3. Kairysis ir dešinysis pomedis taip pat turi būti a dvejetainis paieškos medis .
  4. Neturi būti pasikartojančių mazgų.

Taip pat kyla klausimas, kaip dvejetainė paieška įgyvendinama „Java“?

Pažiūrėkime dvejetainės paieškos „Java“pavyzdį, kai mes ketiname ieškoti elemento iš masyvo naudodami rekursiją

  1. class BinarySearchExample1{
  2. public static int binarySearch(int arr, int pirmas, int paskutinis, int raktas){
  3. if (paskutinis>=pirmas){
  4. int mid = pirmas + (paskutinis - pirmas)/2;
  5. if (arr[mid] == klavišas){
  6. grįžti vidurio;
  7. }

Antra, kur mes naudojame dvejetainį paieškos medį? Dvejetainis paieškos medis - Naudota daugelyje Paieška programos, į kurias nuolat patenka/išeina duomenys, pvz., žemėlapis ir nustatyti objektai daugelio kalbų bibliotekose. Dvejetainis Erdvės pertvara – Naudota beveik kiekviename 3D vaizdo žaidime, kad nustatytų, kokius objektus reikia pateikti.

Taigi, kaip formuojami dvejetainiai medžiai?

Dvejetainio medžio kūrimas naudojant rekursiją

  1. Skaityti duomenis x.
  2. Paskirkite atmintį naujam mazgui ir išsaugokite adresą žymeklyje p.
  3. Išsaugokite duomenis x mazge p.
  4. Rekursyviai sukurkite kairįjį p pomedį ir paverskite jį kairiuoju p antriniu.
  5. Rekursyviai sukurkite tinkamą p pomedį ir padarykite jį tinkamu p antriniu.

Kas yra dvejetainės paieškos sudėtingumas?

Dvejetainė paieška veikia blogiausiu logaritminiu laiku, atliekant O(log n) palyginimus, kur n yra elementų skaičius masyve, O yra Big O žymėjimas, o log yra logaritmas. Dvejetainė paieška užima pastovią (O(1)) erdvę, o tai reiškia, kad algoritmo užimama erdvė yra vienoda bet kokiam masyvo elementų skaičiui.

Rekomenduojamas: