Σπίτι Προσωπικά Οικονομικά Δυαδικά σώματα κεφαλών και δυαδικά δέντρα αναζήτησης που χρησιμοποιούνται σε αλγόριθμους - ανδρείκελα

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

Βίντεο: Review: Quiz 1 2024

Βίντεο: Review: Quiz 1 2024
Anonim

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

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

Από όλες τις εργασίες που κάνουν οι εφαρμογές, η αναζήτηση είναι πιο χρονοβόρος και επίσης απαιτεί περισσότερο. Παρόλο που η προσθήκη δεδομένων (και η ταξινόμησή τους αργότερα) απαιτεί κάποιο χρονικό διάστημα, το όφελος στη δημιουργία και τη διατήρηση ενός συνόλου δεδομένων προέρχεται από τη χρήση του για την εκτέλεση χρήσιμης εργασίας, που σημαίνει ότι ψάχνει για σημαντικές πληροφορίες. Κατά συνέπεια, μπορείτε μερικές φορές να περάσετε με λιγότερο αποτελεσματική λειτουργικότητα CRUD και ακόμη και μια λιγότερο από βέλτιστη ρουτίνα ταξινόμησης, αλλά οι αναζητήσεις πρέπει να προχωρήσουν όσο πιο αποτελεσματικά γίνεται. Το μόνο πρόβλημα είναι ότι καμία αναζήτηση δεν εκτελεί κάθε εργασία με απόλυτη απόδοση, οπότε πρέπει να σταθμίσετε τις επιλογές σας με βάση αυτό που περιμένετε να κάνετε ως μέρος των ρουτινών αναζήτησης.

Δύο από τις αποδοτικότερες μεθόδους αναζήτησης περιλαμβάνουν τη χρήση του δυαδικού δέντρου αναζήτησης (BST) και του δυαδικού σωρού. Και οι δύο τεχνικές αναζήτησης βασίζονται σε μια δομή που μοιάζει με δέντρο για να κρατάει τα κλειδιά που χρησιμοποιούνται για την πρόσβαση στα στοιχεία δεδομένων. Ωστόσο, η διευθέτηση των δύο μεθόδων είναι διαφορετική, γι 'αυτό υπάρχει πλεονέκτημα έναντι του άλλου κατά την εκτέλεση ορισμένων καθηκόντων. Αυτό το σχήμα δείχνει τη διάταξη για ένα BST.

Η διάταξη πλήκτρων όταν χρησιμοποιείτε ένα BST.

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

Η διάταξη κλειδιών όταν χρησιμοποιείτε δυαδικό σωρό.

Κάθε επίπεδο περιέχει τιμές μικρότερες από το προηγούμενο επίπεδο και η ρίζα περιέχει τη μέγιστη τιμή κλειδιού για το δέντρο. Επιπλέον, στη συγκεκριμένη περίπτωση, οι μικρότερες τιμές εμφανίζονται στα αριστερά και η μεγαλύτερη δεξιά (αν και αυτή η σειρά δεν εφαρμόζεται αυστηρά). Το σχήμα απεικονίζει πραγματικά ένα δυαδικό σωρό. Μπορείτε επίσης να δημιουργήσετε ένα δυαδικό δυαδικό σωρό, στο οποίο η ρίζα περιέχει τη χαμηλότερη τιμή κλειδιού και κάθε επίπεδο χτίζει σε υψηλότερες τιμές, με τις υψηλότερες τιμές να εμφανίζονται ως μέρος των φύλλων. Όπως σημειώθηκε προηγουμένως, το BST έχει κάποια πλεονεκτήματα έναντι του δυαδικού σωρού όταν χρησιμοποιείται για να πραγματοποιήσει μια αναζήτηση. Η παρακάτω λίστα παρέχει μερικά από τα κυριότερα σημεία αυτών των πλεονεκτημάτων:

Η αναζήτηση ενός στοιχείου απαιτεί χρόνο O (log n), σε αντίθεση με τον χρόνο O (n) για ένα δυαδικό σωρό.

  • Η εκτύπωση των στοιχείων σε σειρά απαιτεί μόνο χρόνο O (log n), σε αντίθεση με τον χρόνο O (n log n) για έναν δυαδικό σωρό.
  • Η εύρεση του δαπέδου και της οροφής απαιτεί χρόνο O (log n).
  • Η ανίχνευση του μικρότερου / μεγαλύτερου στοιχείου Kth απαιτεί χρόνο O (log n) όταν το δέντρο έχει διαμορφωθεί σωστά.
  • Η σημασία αυτών των χρόνων εξαρτάται από την εφαρμογή σας. Το BST τείνει να λειτουργεί καλύτερα σε καταστάσεις όπου περνάτε περισσότερο χρόνο για αναζήτηση και λιγότερο χρόνο για την οικοδόμηση του δέντρου. Ένας δυαδικός σωρός τείνει να λειτουργεί καλύτερα σε δυναμικές καταστάσεις στις οποίες τα πλήκτρα αλλάζουν τακτικά. Ο δυαδικός σωρός προσφέρει επίσης πλεονεκτήματα όπως περιγράφεται στον παρακάτω κατάλογο:

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

  • Η δημιουργία ενός δυαδικού σωρού απαιτεί O (n) χρόνο, σε αντίθεση με BST, που απαιτεί χρόνο O (n log n).
  • Η χρήση των δεικτών για την υλοποίηση του δέντρου δεν είναι απαραίτητη.
  • Με βάση τις δυαδικές παραλλαγές σωρού (για παράδειγμα, το Fibonacci Heap) προσφέρει πλεονεκτήματα όπως η αύξηση και η μείωση των βασικών χρόνων του χρόνου O (1).
Δυαδικά σώματα κεφαλών και δυαδικά δέντρα αναζήτησης που χρησιμοποιούνται σε αλγόριθμους - ανδρείκελα

Η επιλογή των συντακτών

Όταν η μετάβαση σε υβριδικό περιβάλλον σύννεφων μπορεί να είναι ωφέλιμη - ανδρείκελα

Όταν η μετάβαση σε υβριδικό περιβάλλον σύννεφων μπορεί να είναι ωφέλιμη - ανδρείκελα

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

Γιατί ο προσανατολισμός υπηρεσίας είναι σημαντικός για τα μοντέλα υπολογιστικού νέφους - οι υπηρεσίες Dummy

Γιατί ο προσανατολισμός υπηρεσίας είναι σημαντικός για τα μοντέλα υπολογιστικού νέφους - οι υπηρεσίες Dummy

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

Η επιλογή των συντακτών

Προσθέστε Βασικά Ηλεκτρονικά Εξαρτήματα στο Ηλεκτρονικό σας Εργαλείο Workbench - dummies

Προσθέστε Βασικά Ηλεκτρονικά Εξαρτήματα στο Ηλεκτρονικό σας Εργαλείο Workbench - dummies

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

10 τρόποι να εξερευνήσετε τον κόσμο των ηλεκτρονικών - Dummies

10 τρόποι να εξερευνήσετε τον κόσμο των ηλεκτρονικών - Dummies

Έτοιμοι να αξιοποιήσουν μια νέα γνώση των ηλεκτρονικών; Θέλετε να επεκτείνετε τους ορίζοντές σας και να δημιουργήσετε προγραμματιζόμενα ηλεκτρονικά έργα; Η παρακάτω λίστα παρέχει μια λίστα ιδεών για την ενίσχυση της ηλεκτρονικής σας εμπειρίας. Σέρφινγκ για κυκλώματα Χιλιάδες ιδέες σχεδίων διατίθενται στο Διαδίκτυο. Χρησιμοποιήστε την αγαπημένη μηχανή αναζήτησής σας για να βρείτε έργα σε ...

Η επιλογή των συντακτών

Πώς να πάρει επιβεβαιωμένο και επιβεβαιωμένο στο Facebook - dummies

Πώς να πάρει επιβεβαιωμένο και επιβεβαιωμένο στο Facebook - dummies

Facebook είναι μια ιστοσελίδα για πραγματική ταυτότητα και πραγματική Ανθρωποι. Για να προστατεύσει αυτό το γεγονός, το Facebook διαθέτει συστήματα που να ανιχνεύουν τυχόν ψεύτικους λογαριασμούς. Οι ψεύτικοι λογαριασμοί μπορεί να είναι αστεία (για παράδειγμα, κάποιος που δημιουργεί λογαριασμό για το σκυλί της) ή μπορεί να είναι spammers (ρομπότ που δημιουργούν λογαριασμούς για να στείλουν χιλιάδες ψεύτικες αιτήσεις φίλων). Ανεξάρτητα, είναι ...

Πώς να κρύψει Facebook Νέα Ιστορίες Feed - ανδρείκελα

Πώς να κρύψει Facebook Νέα Ιστορίες Feed - ανδρείκελα

, ενώ μπορείτε να χρησιμοποιήσετε Ειδήσεις του Facebook Feed απόψεις να δούμε μια διαφορετική έκδοση, μπορείτε επίσης να επηρεάσετε αυτό που βλέπετε κρύβοντας ιστορίες που δεν σας αρέσουν. Η απόκρυψη ιστοριών (και στη συνέχεια η απόκρυψη όλων των ιστοριών από συγκεκριμένους ανθρώπους) στέλνει ένα μήνυμα στην News Feed ότι θα προσπαθήσει να μάθει από. Αν είστε συνεχώς κρύβονται ιστορίες ...

Πώς να Εισάγετε ένα βιβλίο διευθύνσεων στο Facebook - dummies

Πώς να Εισάγετε ένα βιβλίο διευθύνσεων στο Facebook - dummies

Αντί να δημιουργήσετε ένα νέο βιβλίο διευθύνσεων για Επαφές Facebook, μπορείτε να εισαγάγετε ένα υπάρχον βιβλίο διευθύνσεων. Εάν είστε κάποιος που χρησιμοποιεί έναν υπολογιστή-πελάτη ηλεκτρονικού ταχυδρομείου επιφάνειας εργασίας - ένα πρόγραμμα στον τοπικό σας υπολογιστή που διαχειρίζεται το ηλεκτρονικό σας ταχυδρομείο (όπως το Microsoft Outlook ή το Entourage), δημιουργήστε ένα αρχείο των επαφών σας και εισάγετε το ...