User Tools

Site Tools


cpp:stl:unordered_map

This is an old revision of the document!


std::unordered_map και std::unordered_multimap

Ένα std::unordered_map αποτελεί ένα σύνολο μοναδικών στοιχείων, όπου κάθε τέτοιο στοιχείο αποτελεί κλειδί για την εύρεση ή αντιστοίχιση του με ένα άλλο αντικείμενο που ονομάζουμε “τιμή” (value). Κάθε κλειδί προσδιορίζει μοναδικά μία “τιμή”, η οποία δεν είναι απαραίτητο να είναι μοναδική (οι τιμές μπορεί να επαναλαμβάνονται).

Τα κλειδιά του std::unordered_map είναι αποθηκευμένα σε ένα πίνακα κατακερματισμού με αλύσίδες (Hash_table#Separate_chaining).

Η κατάταξη ενός νέου ζεύγους κλειδιού-τιμής γίνεται πάντα μέσω της συνάρτησης κατακερματισμού (hash function), η οποία εξαρτάται από το είδος των κλειδιών που αποθηκεύονται στο map. Το ακόλουθο σχήμα περιγράφει συνοπτικά τη δομή της κλάσης unordered_set.

Σχήμα 1. Η δομή της κλάσης std::unordered_map (Πηγή: conglang.github.io)
cpp/stl/unordered_map.1590993068.txt.gz · Last modified: 2020/06/01 05:31 (external edit)