Czym jest mapa haszująca?
Część sekcji Logika i przepływ programu ścieżki Rust w Coddy. Lekcja 27 z 66.
Wyobraź sobie, że masz papierowy słownik, w którym możesz szybko znaleźć definicję dowolnego słowa. Mapa skrótów działa w podobny sposób — to struktura danych, która przechowuje informacje w parach klucz-wartość, dzięki czemu możesz szybko znaleźć wartość, podając powiązany z nią klucz.
W Rust mapa haszująca jest reprezentowana przez typ HashMap<K, V>, gdzie K to typ kluczy, a V to typ wartości. Na przykład możesz mieć mapę haszującą, która przechowuje imiona uczniów jako klucze, a ich wyniki testów jako wartości, lub nazwy krajów jako klucze, a nazwy ich stolic jako wartości.
// Przykładowa koncepcja: imiona uczniów → wyniki
// "Alice" → 95
// "Bob" → 87
// "Carol" → 92Główną zaletą map haszujących jest ich szybkość — zapewniają bardzo szybkie wyszukiwanie, wstawianie i usuwanie elementów. Gdy musisz znaleźć wartość, nie musisz przeszukiwać każdego elementu tak jak w przypadku wektora. Zamiast tego mapa haszująca używa klucza, aby szybko zlokalizować dokładne miejsce, w którym przechowywana jest wartość.
Spróbuj swoich sił
Ta lekcja nie zawiera wyzwania z kodem.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane sterowanie przepływem
Wyrażenie „match”Dopasowywanie wielu wartościDopasowywanie zakresówWyrażenie „if let”Pętle jako wyrażeniaPodsumowanie — prosty parser poleceń4Grupowanie danych za pomocą struktur
Czym jest struktura?Przegląd strukturDostęp do pól strukturyModyfikowalne strukturyStruktury jako parametry funkcjiStruktury krotkowePodsumowanie — utwórz strukturę Book2Wprowadzenie do wektorów
Czym jest wektor?Tworzenie wektoraDodawanie elementów za pomocą pushDostęp do elementów wektoraIterowanie po wektorzeIterowanie z możliwością modyfikacjiUsuwanie elementówPodsumowanie — prosty licznik punktów5Pary klucz–wartość z mapami hashującymi
Czym jest mapa haszująca?Tworzenie mapy haszującejWstawianie par klucz–wartośćDostęp do wartościIterowanie po mapie haszującejAktualizowanie wartościUsuwanie paryPodsumowanie – licznik słów8Projekt: Prosty system inwentaryzacji
Konfiguracja projektuDodawanie produktuSprawdzanie stanu magazynowegoSprzedaż produktuŁączenie wszystkiego w całość3Lista zadań w wierszu poleceń
Konfiguracja projektuDodawanie zadaniaWyświetlanie wszystkich zadańUsuwanie zadaniaKońcowy kodPoćwicz samodzielnie: Kompilator Rust online