Τόσο με τους δέντρους όσο και με τα hashmaps, δεν είναι πάντα εύκολο να προσδιορίσετε μοτίβα ή συμπλέγματα στα δεδομένα σας, επειδή λειτουργούν σε δύο αρχές: η μία εστιάζει στις σχέσεις μεταξύ διαφορετικών αντικειμένων. Αντίθετα, η άλλη εστιάζει στην αποθήκευση διατεταγμένων ζευγών πραγμάτων.
Στον κόσμο της ανάπτυξης Ιστού, υπάρχουν πολλοί όροι που ίσως δεν έχετε ακούσει. Και αυτό γιατί τα hashmaps και τα treemaps είναι μερικά από αυτά.
Αυτές οι δύο δομές δεδομένων χρησιμοποιούνται για την αποθήκευση δεδομένων που μοιάζουν με χάρτη πιο αποτελεσματικά από τις λίστες ή τα λεξικά.
Μπορούν επίσης να χρησιμοποιηθούν για την αναπαράσταση σχέσεων μεταξύ αντικειμένων πιο συνοπτικά από τα παραδοσιακά.[] σημειογραφία.
Βασικές τακτικές
- Οι HashMaps παρέχουν ταχύτερη πρόσβαση και εισαγωγή δεδομένων λόγω της χρήσης κατακερματισμού, ενώ οι TreeMaps είναι πιο αργοί αλλά διατηρούν μια ταξινομημένη σειρά κλειδιών.
- Οι HashMaps επιτρέπουν ένα μηδενικό κλειδί και πολλές μηδενικές τιμές, ενώ το TreeMaps δεν υποστηρίζει μηδενικά κλειδιά, αλλά μπορεί να έχει πολλές μηδενικές τιμές.
- Οι TreeMaps είναι πιο αποδοτικοί στη μνήμη από τους HashMaps, καθώς δεν απαιτούν αλλαγή μεγέθους ή αναδιαμόρφωση κατά την εισαγωγή ή τη διαγραφή δεδομένων.
Hashmaps vs Treemaps
Οι Hashmaps είναι μια δομή δεδομένων που χρησιμοποιεί ζεύγη κλειδιών-τιμών για την αποθήκευση και την ανάκτηση δεδομένων γρήγορα, χρησιμοποιώντας ένα κατακερματισμός λειτουργία για να αντιστοιχίσει κάθε κλειδί σε ένα μοναδικό ευρετήριο σε έναν πίνακα. Οι δέντροι είναι δομές δεδομένων που συγκρατούν δεδομένα σε μια ιεραρχική δομή οργανωμένη με βάση θρύλους. Μπορούν να χρησιμοποιηθούν για διάφορες εφαρμογές, όπως ευρετηρίαση και συμπίεση δεδομένων.
A κατακερματισμός είναι ένα εργαλείο που δημιουργεί ταξινομημένα ζεύγη για τα δεδομένα σας. Το πρώτο στοιχείο κάθε ομάδας είναι το κλειδί και το δεύτερο η αξία.
Στη συνέχεια, μπορείτε να χρησιμοποιήσετε αυτά τα ταξινομημένα ζεύγη για να οπτικοποιήσετε τα δεδομένα σας πιο αποτελεσματικά και με ακρίβεια από έναν δέντρο, ο οποίος σας επιτρέπει να βλέπετε μοτίβα και συμπλέγματα, αλλά απαιτεί περισσότερο χώρο και ισχύ επεξεργασίας.
Ένας δέντρος είναι ένα γράφημα με ορθογώνια κελιά για τα αντικείμενα στα δεδομένα σας. Κάθε κελί έχει μια περιοχή ανάλογη με το μέγεθος του πράγματος.
Με αυτόν τον τρόπο, μπορείτε να δείτε πόσα αντικείμενα υπάρχουν σε κάθε γραμμή και στήλη και πόσο χώρο καταλαμβάνουν.
Συγκριτικός πίνακας
Παράμετροι σύγκρισης | Hashmaps | Χάρτες |
---|---|---|
Νόημα | Ισχυρό εργαλείο αποθήκευσης δεδομένων για επιχειρήσεις | Βασικό εργαλείο οπτικοποίησης χαρτών για εμπόρους |
Χαρακτηριστικά | Χάρτης που αποτελείται από διαφορετικούς κόμβους (δέντρα) που αντιπροσωπεύουν συνδέσμους μεταξύ αυτών των κόμβων | Το σχήμα που μοιάζει με δέντρο που χρησιμοποιείται για την αναπαράσταση ιεραρχικών δεδομένων |
Αποτελείται | Συλλογές παραγγελθέντων ζευγαριών | Σύνολο σχετικών εικόνων |
Χρήση | Λεπτομερέστερη ανάλυση των δεδομένων σας ή γρήγορη εξερεύνηση συγκεκριμένων περιοχών ενδιαφέροντος | Είναι εύκολο να δείτε σχέσεις μεταξύ των διαφορετικών αντικειμένων στα δεδομένα σας |
Κλειδιά | Μονό κλειδί Null | Πολλαπλά πλήκτρα Null |
Τι είναι οι Hashmaps;
A κατακερματισμός αποθηκεύει αποτελεσματικά διάφορα αντικείμενα σε ένα αντικείμενο που ονομάζεται κλειδί με την αντίστοιχη τιμή του.
Ο σκοπός του κλειδιού είναι να αναγνωρίσει το αντικείμενο, ενώ η τιμή θα σας πει τι περιέχει.
Η δημιουργία ενός hashmap που περιέχει όλα τα δεδομένα σας είναι προσβάσιμη: Πρέπει να δημιουργήσετε δύο αντικείμενα, ένα για τα κλειδιά και ένα άλλο για τις τιμές.
Στη συνέχεια, χρησιμοποιείτε αυτά τα δύο αντικείμενα για την οπτικοποίηση του χάρτη σας. Δείτε πώς:
Πρώτα, δημιουργήστε το κρίσιμο πράγμα σας με όλες τις πληροφορίες για κάθε στοιχείο (τα στοιχεία θα μπορούσαν να είναι οτιδήποτε, από άτομα έως χώρες).
Στη συνέχεια, δημιουργήστε επίσης το αντικείμενο τιμών σας — αυτό θα πρέπει επίσης να έχει όλα τα δεδομένα σας οργανωμένα σε ομάδες και ταξινομημένα με βάση τη θέση τους σε έναν άξονα. Τέλος, προσθέστε αυτά τα δύο αντικείμενα σε ένα MapView και ορίστε!
Τι είναι οι Treemaps;
Ένας δεντροχάρτης περιλαμβάνει τέσσερις άξονες: μεγέθη, χρώματα, σχήματα και τιμές. Οι αξίες είναι πράγματα όπως το εισόδημα ή η πυκνότητα πληθυσμού.
Τα σχήματα είναι ορθογώνια και δείχνουν το ποσοστό μιας συγκεκριμένης τιμής στο σύνολο δεδομένων. Τέλος, το μέγεθος των ορθογωνίων δείχνει πόσο από το σύνολο δεδομένων υπάρχει συνολικά.
Οι δεντροχάρτες σάς βοηθούν να κατανοήσετε πώς σχετίζονται τα δεδομένα μεταξύ τους χρησιμοποιώντας κύκλους με χρωματική κωδικοποίηση για να εμφανίσετε διαφορετικά επίπεδα ευκρίνειας στα δεδομένα σας.
Μπορείτε επίσης να τα χρησιμοποιήσετε για να εξερευνήσετε τάσεις, μοτίβα, συμπλέγματα, ακραίες τιμές ή συγκρίσεις μεταξύ συνόλων δεδομένων και να βρείτε σημεία όπου τέμνονται.
Κύριες διαφορές μεταξύ Hashmaps και Treemaps
1) Οι Hashmaps είναι πιο αποτελεσματικοί και ακριβείς από τους treemaps.
Οι δεντροχάρτες δείχνουν σχέσεις μεταξύ αντικειμένων, αλλά δεν μπορούν να προσδιορίσουν με ακρίβεια ποιο πράγμα βρίσκεται στο κέντρο του συμπλέγματος. Ωστόσο, οι Hashmaps μπορούν να θυμηθούν ακριβώς ποιο αντικείμενο βρίσκεται στο κέντρο της ομάδας. Αυτό σημαίνει ότι οι hashmaps μπορούν να χρησιμοποιηθούν για γρήγορη και αποτελεσματική εύρεση μοτίβων στα δεδομένα σας.
2) Οι δέντροι δεν είναι επεκτάσιμοι.
Οι δέντροι δεν είναι επεκτάσιμοι επειδή πρέπει να προσθέσετε έναν νέο κόμβο για κάθε επίπεδο του δέντρου σας (για να ομαδοποιήσετε αντικείμενα σε συμπλέγματα). Ως αποτέλεσμα, δεν είναι εύκολο να απεικονίσετε τα δεδομένα σας με τρόπο που να αντιπροσωπεύει πώς φαίνονται όταν τα αποθηκεύετε και τα αναλύετε. Από την άλλη πλευρά, με τα hashmaps, χρειάζεται μόνο να προσθέσετε έναν κόμβο για κάθε διαφορετικό επίπεδο για να διατηρήσετε την οπτικοποίησή σας ακριβή και αποτελεσματική.
3) Ένας δέντρος είναι πάντα δισδιάστατος. ένας hashmap μπορεί να είναι τρισδιάστατος. . . ή τετραδιάστατο!
Ένας δέντρος έχει μόνο ένα στρώμα. Με ένα hashmap, ωστόσο, μπορείτε να δημιουργήσετε πολλαπλά επίπεδα, έτσι ώστε τα αντικείμενα σε κάθε επίπεδο να έχουν μια πρόσθετη διάσταση χώρου που σχετίζεται με αυτά (για διάκριση
4) Ένας hashmap είναι μια συμπαγής δομή δεδομένων που μπορεί να αποθηκεύσει αποτελεσματικά σημεία δεδομένων σε μια πυκνοκατοικημένη ταξινομημένη λίστα. Οι δεντροχάρτες είναι εύκολο να κατανοηθούν και παρέχουν μια εξαιρετική απεικόνιση των ένθετων δεδομένων—ένα σύνολο ταξινομημένων ζευγών που σας επιτρέπουν να αποθηκεύετε τα δεδομένα σας αποτελεσματικά και με ακρίβεια.
5) Οι χάρτες κατακερματισμού χρησιμοποιούνται για την αντιστοίχιση σημείων δεδομένων σε μια συγκεκριμένη τοποθεσία. Οι δεντροχάρτες χρησιμοποιούνται για τη δημιουργία χαρτών μεγάλων περιοχών.
- http://ijeast.com/papers/134-138,Tesma501,IJEAST.pdf
- https://ieeexplore.ieee.org/abstract/document/5565628/
Τελευταία ενημέρωση: 11 Ιουνίου 2023
Η Sandeep Bhandari είναι κάτοχος πτυχίου Μηχανικού στους Υπολογιστές από το Πανεπιστήμιο Thapar (2006). Διαθέτει 20ετή εμπειρία στον τομέα της τεχνολογίας. Έχει έντονο ενδιαφέρον σε διάφορους τεχνικούς τομείς, συμπεριλαμβανομένων συστημάτων βάσεων δεδομένων, δικτύων υπολογιστών και προγραμματισμού. Μπορείτε να διαβάσετε περισσότερα για αυτόν στο δικό του βιο σελίδα.
Δεν μπορώ παρά να νιώθω ότι το άρθρο έχει χάσει ορισμένες αποχρώσεις των Hashmaps και των Treemaps. Η σύγκριση δεν είναι απολύτως ακριβής και θα εκτιμούσαμε μια πιο λεπτομερή ματιά στα μεμονωμένα χαρακτηριστικά τους.
Είναι σαφές ότι οι Hashmaps και οι Treemaps έχουν τα δικά τους μοναδικά πλεονεκτήματα και μειονεκτήματα. Το άρθρο εξηγεί τα πάντα με μεγάλη λεπτομέρεια που βοηθά στην πλήρη κατανόηση των εννοιών.
Νομίζω ότι ο συγγραφέας έχει κάνει καλή δουλειά στο να εξηγήσει την πολυπλοκότητα των Hashmaps και Treemaps και πώς λειτουργούν. Το άρθρο είναι πολύ καλογραμμένο και κατανοητό.
Αυτό είναι ένα πολύ κατατοπιστικό άρθρο, παρέχει όλες τις λεπτομέρειες που χρειάζεται να γνωρίζει κανείς για τη διαφορά μεταξύ Hashmaps και Treemaps. Μου άρεσε ιδιαίτερα να μάθω για τις κύριες διαφορές μεταξύ των δύο, πολύ ενδιαφέρον!
Ο συγγραφέας αποτυγχάνει να εξηγήσει αποτελεσματικά πώς χρησιμοποιούνται στην πράξη οι Hashmaps και οι Treemaps. Η έλλειψη πραγματικών παραδειγμάτων και εφαρμογών αφήνει το άρθρο ημιτελές.
Αυτό το άρθρο διαβάζεται σαν ένα ακαδημαϊκό εγχειρίδιο για Hashmaps και Treemaps. Ένας πιο συναρπαστικός τόνος, ίσως με μια νότα χιούμορ, θα το έκανε πιο εύκολο και διασκεδαστικό ανάγνωσμα.