Πίνακας περιεχομένων:

Πώς υλοποιείτε ένα δυαδικό δέντρο αναζήτησης στην Java;
Πώς υλοποιείτε ένα δυαδικό δέντρο αναζήτησης στην Java;

Βίντεο: Πώς υλοποιείτε ένα δυαδικό δέντρο αναζήτησης στην Java;

Βίντεο: Πώς υλοποιείτε ένα δυαδικό δέντρο αναζήτησης στην Java;
Βίντεο: Δέντρα ΙΙ - Δυαδικά Δέντρα - Δυαδικά Δέντρα Αναζήτησης 2024, Μάρτιος
Anonim

Εφαρμογή ενός Δυαδικού Δέντρου Αναζήτησης (BST) σε Java

  1. Το αριστερό υποδέντρο ενός κόμβου περιέχει μόνο κόμβους με κλειδιά μικρότερα από το κλειδί του κόμβου.
  2. Το δεξί υποδέντρο ενός κόμβου περιέχει μόνο κόμβους με κλειδιά μεγαλύτερα από το κλειδί του κόμβου.
  3. Το αριστερό και το δεξί υποδέντρο πρέπει επίσης να είναι α δυαδικό δέντρο αναζήτησης .
  4. Δεν πρέπει να υπάρχουν διπλοί κόμβοι.

Επίσης το ερώτημα είναι πώς υλοποιείται η δυαδική αναζήτηση στην Java;

Ας δούμε ένα παράδειγμα δυαδικής αναζήτησης σε java όπου θα αναζητήσουμε ένα στοιχείο από έναν πίνακα χρησιμοποιώντας αναδρομή

  1. τάξη BinarySearchExample1{
  2. δημόσια στατική int binarySearch(int arr, int first, int last, int key){
  3. if (last>=first){
  4. int mid = πρώτο + (τελευταίο - πρώτο)/2;
  5. if (arr[mid] == κλειδί){
  6. επιστροφή στα μέσα?
  7. }

Δεύτερον, πού χρησιμοποιούμε το δυαδικό δέντρο αναζήτησης; Δυαδικό δέντρο αναζήτησης - Μεταχειρισμένος σε ΠΟΛΛΟΥΣ Αναζήτηση εφαρμογές όπου δεδομένα εισέρχονται/εξέρχονται συνεχώς, όπως ο χάρτης και τα αντικείμενα συνόλου σε βιβλιοθήκες πολλών γλωσσών. Δυάδικος Space Partition - Μεταχειρισμένος σχεδόν σε κάθε τρισδιάστατο βιντεοπαιχνίδι για να προσδιορίσετε ποια αντικείμενα πρέπει να αποδοθούν.

Έτσι ακριβώς, πώς σχηματίζονται τα δυαδικά δέντρα;

Δημιουργία δυαδικού δέντρου με χρήση αναδρομής

  1. Διαβάστε ένα στοιχείο σε x.
  2. Εκχωρήστε μνήμη για έναν νέο κόμβο και αποθηκεύστε τη διεύθυνση στον δείκτη p.
  3. Αποθηκεύστε τα δεδομένα x στον κόμβο p.
  4. Δημιουργήστε αναδρομικά το αριστερό υποδέντρο του p και κάντε το αριστερό παιδί του p.
  5. Δημιουργήστε αναδρομικά το σωστό υποδέντρο του p και κάντε το το σωστό παιδί του p.

Τι είναι η πολυπλοκότητα της δυαδικής αναζήτησης;

Δυαδική αναζήτηση εκτελείται στη χειρότερη λογαριθμική στιγμή, κάνοντας συγκρίσεις O(log n), όπου n είναι ο αριθμός των στοιχείων στον πίνακα, το O είναι ο συμβολισμός Big O και το log είναι ο λογάριθμος. Δυαδική αναζήτηση παίρνει σταθερό (O(1)) χώρο, που σημαίνει ότι ο χώρος που παίρνει ο αλγόριθμος είναι ο ίδιος για οποιονδήποτε αριθμό στοιχείων του πίνακα.

Συνιστάται: