Tartalomjegyzék:

Hogyan valósíthat meg bináris keresőfát Java nyelven?
Hogyan valósíthat meg bináris keresőfát Java nyelven?

Videó: Hogyan valósíthat meg bináris keresőfát Java nyelven?

Videó: Hogyan valósíthat meg bináris keresőfát Java nyelven?
Videó: Binary Search Tree in Java - 1 : Create Binary Search Tree 2024, Március
Anonim

Bináris keresőfa (BST) megvalósítása Java nyelven

  1. A csomópont bal oldali részfája csak olyan csomópontokat tartalmaz, amelyek kulcsa kisebb, mint a csomópont kulcsa.
  2. A csomópont jobb oldali részfája csak olyan csomópontokat tartalmaz, amelyek kulcsa nagyobb, mint a csomópont kulcsa.
  3. A bal és a jobb oldali részfának is a-nak kell lennie bináris keresőfa .
  4. Nem lehetnek ismétlődő csomópontok.

Az is kérdés, hogy hogyan valósul meg a bináris keresés a Java nyelven?

Lássunk egy példát a java bináris keresésére, ahol rekurzió segítségével fogunk keresni egy elemet egy tömbből

  1. class BinarySearchExample1{
  2. public static int binarySearch(int arr, int első, int utolsó, int kulcs){
  3. if (utolsó>=első){
  4. int mid = első + (utolsó - első)/2;
  5. if (arr[mid] == kulcs){
  6. return mid;
  7. }

Másodszor, hol használjuk a bináris keresőfát? Bináris keresőfa - Használt sokban keresés olyan alkalmazások, amelyekbe folyamatosan adatok lépnek be/kilépnek, mint például a térkép és a beállított objektumok számos nyelv könyvtárában. Bináris Tér partíció - Használt szinte minden 3D-s videojátékban, hogy meghatározzák, milyen objektumokat kell renderelni.

Csak hát, hogyan jönnek létre a bináris fák?

Bináris fa létrehozása rekurzió segítségével

  1. Olvasson be egy adatot x-ben.
  2. Memória lefoglalása egy új csomópont számára, és a cím tárolása a p mutatóban.
  3. Tárolja az x adatokat a p csomópontban.
  4. Rekurzív módon hozza létre a p bal oldali részfáját, és tegyük a p bal oldali gyermekévé.
  5. Rekurzív módon hozza létre a p megfelelő részfáját, és tegye azt p megfelelő gyermekévé.

Mi a bináris keresés összetettsége?

Bináris keresés a legrosszabb logaritmikus időben fut be, O(log n) összehasonlításokat végezve, ahol n a tömb elemeinek száma, az O a Big O jelölés, a log pedig a logaritmus. Bináris keresés állandó (O(1)) teret vesz fel, ami azt jelenti, hogy az algoritmus által felvett tér a tömb tetszőleges számú elemére azonos.

Ajánlott: