Διαφορά μεταξύ δυαδικό δέντρο και δυαδικό δένδρο αναζήτησης

ψήφοι
282

Μπορεί κάποιος παρακαλώ να εξηγήσει τη διαφορά μεταξύ δυαδικό δέντρο και δυαδικό δέντρο αναζήτησης με ένα παράδειγμα ;

Δημοσιεύθηκε 17/06/2011 στις 01:42
πηγή χρήστη
Σε άλλες γλώσσες...                            


12 απαντήσεις

ψήφοι
498

Δυαδικό δέντρο: δέντρο όπου κάθε κόμβος έχει μέχρι δύο φύλλα

  1
 / \
2   3

Δυαδικό δέντρο αναζήτησης: Χρησιμοποιείται για την αναζήτηση . Ένα δυαδικό δένδρο, όπου το αριστερό παιδί περιέχει μόνο κόμβους με τιμές μικρότερες από το μητρικό κόμβο, και όπου το δικαίωμα του παιδιού μόνο περιέχει κόμβους με τιμές μεγαλύτερες ή ίσες με το γονέα.

  2
 / \
1   3
Απαντήθηκε 17/06/2011 στις 01:55
πηγή χρήστη

ψήφοι
30

Ένα δυαδικό δένδρο αποτελείται από κόμβους, όπου κάθε κόμβος περιέχει ένα «αριστερό» δείκτη, ένα «δικαίωμα» δείκτη, και ένα στοιχείο δεδομένων. Οι «root» δείκτης να δείχνει στο κορυφαίο κόμβο στο δέντρο. Τα αριστερά και δεξιά δείκτες αναδρομικά οδηγούν σε μικρότερα «υποδένδρων» και στις δύο πλευρές. Ένα κενό δείκτη αντιπροσωπεύει ένα δυαδικό δένδρο χωρίς στοιχεία - το κενό δέντρο. Η επίσημη αναδρομική ορισμός είναι: ένα δυαδικό δέντρο είναι είτε κενό (αντιπροσωπεύεται από ένα δείκτη null), ή είναι κατασκευασμένο από ένα μόνο κόμβο, όπου τα αριστερά και δεξιά δείκτες (αναδρομικό ορισμό μπροστά) κάθε σημείο σε ένα δυαδικό δέντρο.

Ένα δέντρο δυαδικής αναζήτησης (BST) ή «διέταξε δυαδικό δένδρο» είναι ένα είδος δυαδικού δέντρου, όπου οι κόμβοι διατάσσονται έτσι ώστε: για κάθε κόμβο, όλα τα στοιχεία στο αριστερό υποδένδρο του είναι λιγότερο στον κόμβο (<), και όλα τα στοιχεία στο δεξί υποδένδρο του είναι μεγαλύτερη από τον κόμβο (>).

    5
   / \
  3   6 
 / \   \
1   4   9    

Το δέντρο φαίνεται από τα παραπάνω είναι ένα δυαδικό δένδρο αναζητήσεως - η «ρίζα» κόμβος είναι ένας 5, και άφησε κόμβους υποδένδρο του (1, 3, 4) είναι <5, και το δεξί κόμβους υποδένδρο του (6, 9) είναι> 5. αναδρομικά, κάθε ένα από τα υποδένδρων πρέπει να υπακούει το δυαδικό περιορισμό δέντρο αναζήτησης: στο (1, 3, 4) υποδέντρο, το 3 είναι η ρίζα, η 1 <3 και 4> 3.

Προσέξτε για την ακριβή διατύπωση των προβλημάτων - ένα «δυαδικό δέντρο αναζήτησης» είναι διαφορετικό από ένα «δυαδικό δέντρο».

Απαντήθηκε 05/07/2012 στις 16:32
πηγή χρήστη

ψήφοι
9

Ένα δυαδικό δένδρο αναζήτησης είναι ένα ιδιαίτερο είδος του δυαδικού δένδρου που παρουσιάζει την ακόλουθη ιδιότητα: για κάθε κόμβο n, αξίας κάθε απόγονος κόμβου στο αριστερό υποδέντρο του n είναι μικρότερη από την τιμή του η, και η αξία κάθε απόγονος κόμβου στο δεξιό υποδέντρο είναι μεγαλύτερη από την τιμή του η.

Απαντήθηκε 27/02/2013 στις 14:20
πηγή χρήστη

ψήφοι
12

Όπως όλοι παραπάνω εξήγησε σχετικά με τη διαφορά μεταξύ δυαδικό δέντρο και δυαδικό δένδρο αναζήτησης, είμαι απλά προσθέτοντας πώς μπορεί να ελεγχθεί κατά πόσον η δεδομένη δυαδικό δέντρο είναι δυαδικό δένδρο αναζήτησης.

boolean b = new Sample().isBinarySearchTree(n1, Integer.MIN_VALUE, Integer.MAX_VALUE);
.......
.......
.......
public boolean isBinarySearchTree(TreeNode node, int min, int max)
{

    if(node == null)
    {
        return true;
    }

    boolean left = isBinarySearchTree(node.getLeft(), min, node.getValue());
    boolean right = isBinarySearchTree(node.getRight(), node.getValue(), max);

    return left && right && (node.getValue()<max) && (node.getValue()>=min);

}

Ελπίζουμε ότι θα σας βοηθήσει. Συγγνώμη αν είμαι εκτροπή από το θέμα και ένιωσα ότι αξίζει να αναφερθεί αυτό εδώ.

Απαντήθηκε 28/02/2013 στις 07:18
πηγή χρήστη

ψήφοι
51

Binary Tree είναι μια εξειδικευμένη μορφή δέντρου με δύο παιδιών (αριστερά παιδιού και το δικαίωμα του παιδιού). Είναι απλά αναπαράσταση των δεδομένων στη δομή Tree

Binary Search Tree (BST) είναι ένας ειδικός τύπος Binary Tree που ακολουθεί ακόλουθο όρο:

  1. αριστερά κόμβο παιδί είναι μικρότερο από το γονικό κόμβο της
  2. δεξιά κόμβο παιδί είναι μεγαλύτερο από ό, τι η μητρική Κόμβος της
Απαντήθηκε 01/04/2013 στις 14:19
πηγή χρήστη

ψήφοι
3

Ένα δυαδικό δέντρο είναι ένα δέντρο που τα παιδιά δεν είναι ποτέ περισσότερο από δύο. Ένα δυαδικό δένδρο αναζήτησης εξής η αναλλοίωτη ότι το αριστερό παιδί θα πρέπει να έχει μικρότερη αξία από το κλειδί του κόμβου ρίζας, ενώ το δεξί παιδί θα πρέπει να έχει μεγαλύτερη αξία από ό, τι το κλειδί του κόμβου ρίζας του.

Απαντήθηκε 06/06/2013 στις 06:21
πηγή χρήστη

ψήφοι
3

Δυαδικό δέντρο αναζήτησης: όταν inorder διάσχιση γίνεται σε δυαδικό δέντρο, μπορείτε να πάρετε ταξινομημένο τιμές εισάγονται αντικείμενα δυαδικό δέντρο: δεν ταξινομημένη σειρά βρίσκεται σε κάθε είδους διάσχισης

Απαντήθηκε 19/02/2014 στις 02:18
πηγή χρήστη

ψήφοι
1

Για να ελέγξετε καιρικές ή όχι μια συγκεκριμένη Binary Tree είναι Binary Search Tree εδώ είναι μια εναλλακτική προσέγγιση.

Traverse Δέντρο Σε Inorder μόδας (δηλαδή αριστερά Παιδί -> Μητρική -> δεξί παιδί), Δεδομένα Κόμβος Κατάστημα μετατοπίζεται σε μια προσωρινή μεταβλητή ας πούμε θερμοκρασία , λίγο πριν από την αποθήκευση σε θερμοκρασία , Ελέγξτε καιρικές δεδομένα τρέχουσα Κόμβος είναι υψηλότερο από προηγούμενη ή όχι . Στη συνέχεια, μόλις σπάσει έξω, δέντρο δεν είναι Binary Search Tree άλλο διασχίζουν μέχρι τέλους.

Παρακάτω είναι ένα παράδειγμα με τη Java:

public static boolean isBinarySearchTree(Tree root)
{
    if(root==null)
        return false;

    isBinarySearchTree(root.left);
    if(tree.data<temp)
        return false;
    else
        temp=tree.data;
    isBinarySearchTree(root.right);
    return true;
}

Διατηρήστε μεταβλητή temp έξω

Απαντήθηκε 04/01/2015 στις 17:59
πηγή χρήστη

ψήφοι
9

Binary Tree σημαίνει μια δομή δεδομένων η οποία αποτελείται από κόμβους που μπορούν μόνο να έχουν δύο παιδιά αναφορές.

Binary Search Tree ( BST ) από την άλλη πλευρά, είναι μια ειδική μορφή δυαδικού δένδρου δομή δεδομένων, όπου κάθε κόμβος έχει μια συγκρίσιμη τιμή, και μικρότερα αποτιμώνται τα παιδιά που επισυνάπτεται προς τα αριστερά και τα μεγαλύτερα αποτιμώνται τα παιδιά συνδέονται με το δικαίωμα.

Έτσι, όλα BST 's είναι Binary Tree , ωστόσο μόνο μερικά Binary Tree ' s μπορεί να είναι επίσης BST . Ειδοποίηση ότι BST είναι ένα υποσύνολο του Binary Tree .

Έτσι, Binary Tree είναι περισσότερο από μια γενική δομή δεδομένων από Binary Search Tree . Και, επίσης, θα πρέπει να ενημερώσει ότι Binary Search Tree είναι μια ταξινομημένη δέντρο, ενώ δεν υπάρχει τέτοιο σύνολο κανόνων για τα γενόσημα Binary Tree .

Binary Tree

Ένα Binary Treeοποία είναι δεν μια BST?

         5
       /   \
      /     \
     9       2
    / \     / \
  15   17  19  21

Binary Search Tree (Δέντρο ταξινόμηση)

Μια δυαδική αναζήτηση δέντρο το οποίο είναι επίσης ένα δυαδικό δέντρο ?

         50
       /    \
      /      \
     25      75
    /  \    /  \
  20    30 70   80

Δυαδική Αναζήτηση ακινήτου Δέντρο Κόμβος

Επίσης, γνωστοποιεί ότι για κάθε γονέα κόμβο στο BST ?

  • Όλα τα αριστερά κόμβοι έχουν μικρότερη αξία από την αξία του μητρικού κόμβου. Στο ανώτερο παράδειγμα, οι κόμβοι με τιμές {20, 25, 30} τα οποία είναι όλα βρίσκονται στην αριστερή ( αριστερά απόγονοι ) της 50, είναι μικρότερες από 50.

  • Όλα τα δεξιά κόμβοι έχουν μεγαλύτερη αξία από την αξία του μητρικού κόμβου. Στο ανώτερο παράδειγμα, οι κόμβοι με τιμές {70, 75, 80} τα οποία είναι όλα βρίσκονται στη δεξιά ( δεξιά απόγονοι ) της 50, είναι μεγαλύτερη από 50.

Δεν υπάρχει ένας τέτοιος κανόνας για Binary Tree Κόμβος. Ο μόνος κανόνας για Binary Tree κόμβος έχει δύο παιδιά, ώστε να αυτο-εξηγεί η ίδια ότι ο λόγος που ονομάζεται δυαδικό .

Απαντήθηκε 18/03/2016 στις 17:41
πηγή χρήστη

ψήφοι
4

δυαδικό δέντρο

Δυαδικό δέντρο μπορεί να είναι οτιδήποτε το οποίο διαθέτει 2 παιδιών και 1 γονέας. Μπορεί να εφαρμοστεί ως συνδεδεμένη λίστα ή πίνακα, ή με το έθιμο σας API. Μόλις αρχίσετε να προσθέσετε πιο συγκεκριμένους κανόνες σε αυτό, γίνεται πιο εξειδικευμένες δέντρο . Τα πιο κοινά γνωστή εφαρμογή είναι ότι, προσθέστε τα μικρότερα κόμβους στα αριστερά και μεγαλύτερες στα δεξιά.

Για παράδειγμα, ένα επισημασμένο δυαδικό δένδρο του μεγέθους 9 και ύψος 3, με ένα κόμβο ρίζας του οποίου η τιμή είναι 2. Tree είναι ισορροπημένη και δεν ταξινομούνται . https://en.wikipedia.org/wiki/Binary_tree

εισάγετε περιγραφή της εικόνας εδώ

Για παράδειγμα, στο δέντρο στα αριστερά, Α έχει τις 6 παιδιά {B, C, D, E, F, G}. Μπορεί να μετατραπεί σε δυαδικό δέντρο στα δεξιά.

εισάγετε περιγραφή της εικόνας εδώ

Δυαδική Αναζήτηση

Δυαδική αναζήτηση είναι τεχνική / αλγόριθμος που χρησιμοποιείται για να βρείτε συγκεκριμένο σημείο της αλυσίδας κόμβο. Δυαδική αναζήτηση λειτουργεί σε ταξινομημένη συστοιχίες .

Δυαδική αναζήτηση συγκρίνει την τιμή στόχο για το μεσαίο στοιχείο του πίνακα? αν είναι άνιση, ο χρόνος στον οποίο ο στόχος δεν μπορεί να πει ψέματα εξαλείφεται και η αναζήτηση συνεχίζεται στο υπόλοιπο μισό μέχρι να είναι επιτυχής ή το υπόλοιπο μισό είναι άδειο. https://en.wikipedia.org/wiki/Binary_search_algorithm

εισάγετε περιγραφή της εικόνας εδώ

Ένα δέντρο που αντιπροσωπεύει δυαδική αναζήτηση . Η συστοιχία που αναζητείται εδώ είναι [20, 30, 40, 50, 90, 100], και η τιμή στόχος είναι 40.

εισάγετε περιγραφή της εικόνας εδώ

Δυαδικό δέντρο αναζήτησης

Αυτή είναι μία από τις εφαρμογές του δυαδικού δένδρου. Αυτό είναι εξειδικευμένο για την αναζήτηση .

Οι δυαδικό δένδρο αναζήτησης και Β-δέντρο δομές δεδομένων που βασίζονται σε δυαδική αναζήτηση .

Δυαδικά δέντρα αναζήτησης (BST), μερικές φορές ονομάζεται παραγγείλει ή ταξινόμηση δυαδικά δέντρα, είναι ένα ιδιαίτερο είδος του περιέκτη : δομές δεδομένων που αποθηκεύουν «στοιχεία» (όπως αριθμούς, ονόματα κ.λπ.) στη μνήμη. https://en.wikipedia.org/wiki/Binary_search_tree

Ένα δυαδικό δέντρο αναζήτησης του μεγέθους 9 και το βάθος 3, με 8 στη ρίζα. Τα φύλλα δεν έχουν συνταχθεί.

εισάγετε περιγραφή της εικόνας εδώ

Και, τέλος, μεγάλο σχήμα για τη σύγκριση των επιδόσεων των γνωστών δεδομένων δομών και αλγορίθμων που εφαρμόζονται:

εισάγετε περιγραφή της εικόνας εδώ

Εικόνα που λαμβάνονται από Αλγόριθμοι (4η έκδοση)

Απαντήθηκε 26/05/2017 στις 18:45
πηγή χρήστη

ψήφοι
0

Σε ένα δυαδικό δέντρο αναζήτησης, όλες οι κόμβοι διατάσσονται σε μια συγκεκριμένη σειρά - κόμβοι στα αριστερά του κόμβου ρίζας έχουν μικρότερη αξία από ό, τι είναι root, και όλοι οι κόμβοι στα δεξιά του κόμβου έχουν τιμές μεγαλύτερες από την αξία του ρίζα.

Απαντήθηκε 28/07/2017 στις 21:32
πηγή χρήστη

ψήφοι
0

Ένα δέντρο μπορεί να χαρακτηριστεί ως ένα δυαδικό δέντρο, αν και μόνο αν ο μέγιστος αριθμός των παιδιών οποιουδήποτε από τους κόμβους είναι δύο.

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

Απαντήθηκε 27/05/2019 στις 17:09
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more