1) Ποια είναι η διαφορά ανάμεσα σε δέντρα AVL και δέντρα άτεχνος;
Είναι παρόμοια με τη δομή και τις λειτουργίες καλούμε τους. Η διαφορά είναι ότι στα δέντρα άτεχνος, μετά από κάθε λειτουργία, προσπαθούμε να κρατήσουμε το δέντρο σχεδόν τέλεια ισορροπημένο έτσι ώστε οι μελλοντικές ενέργειες πάρει λιγότερο χρόνο.
2) Σε ποια βάση μπορούμε να επιλέξετε αυτά τα δέντρα;
δέντρα άτεχνος είναι πάντα καλύτερη από δυαδικά δένδρα αναζήτησης, όταν η εφαρμογή σας ασχολείται με πολλά στοιχεία στο δέντρο, αλλά, θα πρέπει να έχουν πρόσβαση σε ένα υποσύνολο των δεδομένων που πολύ συχνά από τους άλλους. Στην περίπτωση αυτή, τα δεδομένα που έχετε πρόσβαση συχνά θα έρθει κοντά στη ρίζα, ως αποτέλεσμα της άτεχνος. Επίσης, κάθε κόμβος μπορεί να προσπελαστούν με λιγότερο χρόνο από ό, τι πριν.
Κατά γενικό κανόνα για την επιλογή αυτών των δέντρων, εάν χρειαστεί «Μέση» log (n) χρόνο κατά τη διάρκεια μιας περιόδου των εργασιών δέντρο, στη συνέχεια, χρησιμοποιήστε το δέντρο άτεχνος. Δυαδικό δέντρο δεν μπορεί να εγγυηθεί αυτό.
3) Ποια είναι τα θετικά του και τα αρνητικά του αυτά τα δέντρα;
Θετικά και για τους δύο είναι ότι μπορείτε να πάρετε γύρω log (n) και στις δύο αυτές δομές δεδομένων θεωρητικά.
Όπως αναφέρθηκε δέντρα άτεχνος έχουν μέση log (n) πάνω από έναν αριθμό λειτουργιών. Αυτό σημαίνει ότι, ίσως έχεις ν χρονική πολυπλοκότητα για μια επιχείρηση atleast μία φορά σε αυτό το σύνολο. Αλλά αυτό θα αντισταθμιστεί κατά την πρόσβαση των συχνών στοιχείων.
Το αρνητικό του δυαδικού δένδρου αναζήτησης είναι ότι, θα πρέπει να είστε τυχεροί να έχουμε log (n) πάντα. Αν τα πλήκτρα δεν είναι τυχαία, τότε το δέντρο θα μειώσει σε μια λίστα σαν μορφή με μία μόνο πλευρά.
4) Ποιες είναι οι επιδόσεις αυτών των δέντρων από την άποψη των μεγάλων O συμβολισμός;
Log δέντρο άτεχνος (n) κατά μέσο όρο για μια ομάδα πράξεων δέντρου. Binary Log δέντρο (n) μόνο εάν τα κλειδιά σας πηγαίνει σε τυχαία.
Τα αποτελέσματα για το χρόνο εκτέλεσης είναι προφανές εδώ διευρύνω το χρόνο εκτέλεσης δέντρο προφίλ
Μπορείτε να δείτε τη διαφορά χρόνου εκτέλεσης για την αναζήτηση με και χωρίς splaying.