Junior — Middle
Εξηγήστε την εμπειρία σας με δομές δεδομένων τύπου πίνακα κατακερματισμού και σε ποιες περιπτώσεις τις χρησιμοποιήσατε.
sobes.tech AI
Απάντηση από AI
Μια δομή δεδομένων πίνακα κατακερματισμού (hash table) παρέχει γρήγορη πρόσβαση σε στοιχεία μέσω ενός κλειδιού, συνήθως σε χρόνο κοντά στο O(1). Στην C/C++, μπορεί να υλοποιηθεί χρησιμοποιώντας πίνακες και συναρτήσεις κατακερματισμού.
Έχω χρησιμοποιήσει πίνακες κατακερματισμού για εργασίες όπου χρειάζεται γρήγορη αναζήτηση, προσθήκη ή διαγραφή στοιχείων με βάση ένα μοναδικό κλειδί, όπως η προσωρινή αποθήκευση αποτελεσμάτων, η καταμέτρηση συχνότητας λέξεων ή η υλοποίηση λεξικών.
Παράδειγμα χρήσης σε C++ με std::unordered_map:
#include <unordered_map>
#include <string>
#include <iostream>
int main() {
std::unordered_map<std::string, int> καταμέτρησηΛέξεων;
καταμέτρησηΛέξεων["μήλο"] = 2;
καταμέτρησηΛέξεων["μπανάνα"] = 3;
std::cout << "μήλο: " << καταμέτρησηΛέξεων["μήλο"] << std::endl;
return 0;
}