Ένας αρχάριος οδηγός για δυαδικά δέντρα

Ένας αρχάριος οδηγός για δυαδικά δέντρα

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





καλύτερη δωρεάν εφαρμογή μουσικής για το android

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





Τι είναι τα Δυαδικά Δέντρα;

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





Ο πρώτος κόμβος σε ένα δυαδικό δέντρο ονομάζεται ρίζα. Οι κόμβοι του τελευταίου επιπέδου σε ένα δέντρο ονομάζονται φύλλα.

Διάμετρος-Δυαδικού-Δέντρου



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

Τύποι Δυτικών Δομών Δέντρων

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





Σχετίζεται με: Οι καλύτεροι τρόποι για να μάθετε πώς να κωδικοποιείτε δωρεάν

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





Είναι σημαντικό να σημειωθεί ότι το ύψος του ισορροπημένου δυαδικού δέντρου είναι O (logn), όπου n είναι ο αριθμός των κόμβων στο δέντρο.

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

Τι είναι τα Δέντρα δυαδικής αναζήτησης;

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

Η ιδιότητα BST πρέπει να ισχύει για κάθε επόμενο γονικό κόμβο στο δέντρο.

Ταξινομημένο δυαδικό δέντρο

πώς να επισημάνετε στο adobe reader

Τα δυαδικά δέντρα αναζήτησης προσφέρουν γρήγορη εισαγωγή και αναζήτηση. Οι λειτουργίες εισαγωγής, διαγραφής και αναζήτησης έχουν τη χειρότερη περίπλοκη χρονική περίοδος του O (n), η οποία είναι παρόμοια με μια συνδεδεμένη λίστα.

Οφέλη από Δυαδικά Δέντρα

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

πώς να διορθώσετε το wifi δεν έχει έγκυρη διαμόρφωση ip

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

Τα δυαδικά δέντρα είναι σημαντικές δομές δεδομένων

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

Σας συνιστούμε να κατανοήσετε την έννοια του δυαδικού δέντρου και να εξοικειωθείτε με τυπικά προβλήματα συνέντευξης.

Μερίδιο Μερίδιο Τιτίβισμα ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ TreeViz: Ένας απλός τρόπος οπτικοποίησης δομών δεδομένων Διαβάστε Επόμενο Σχετικά θέματα
  • Προγραμματισμός
  • Ανάλυση δεδομένων
  • Προγραμματισμός
Σχετικά με τον Συγγραφέα M. Fahad Khawaja(Δημοσιεύθηκαν 45 άρθρα)

Ο Fahad είναι συγγραφέας στο MakeUseOf και αυτή τη στιγμή σπουδάζει στην Επιστήμη των Υπολογιστών. Ως ένθερμος συγγραφέας τεχνολογίας, φροντίζει να ενημερώνεται με την τελευταία λέξη της τεχνολογίας. Ενδιαφέρεται ιδιαίτερα για το ποδόσφαιρο και την τεχνολογία.

Περισσότερα από τον M. Fahad Khawaja

Εγγραφείτε στο newsletter μας

Εγγραφείτε στο ενημερωτικό μας δελτίο για τεχνικές συμβουλές, κριτικές, δωρεάν ebooks και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για εγγραφή