What is a Hash Table?
Coddy'nin Hash Tabloları - Veri Yapıları Serisi #4 kursunda ders 2 / 14.
Bir hash tablosu, girişleri anahtarlarına göre arayan bir sözlük gibi, anahtar-değer çiftlerini depolayan bir veri yapısıdır. Sihri hızındadır: iyi yapılandırılmış bir hash tablosu, kaç giriş tuttuğuna bakılmaksızın, bir girişi O(1) ortalama sürede bulur, ekler veya kaldırır.
İşin püf noktası hash fonksiyonudur. Her anahtar bir kova dizinine (bucket index) dönüştürülür, böylece tüm tabloyu taramadan tam olarak nereye bakacağımızı biliriz. İki farklı anahtar aynı kovaya düştüğünde (bir çakışma), onları o kovadaki bir listede bir arada tutarız. Bu stratejiye zincirleme (chaining) denir.
Bir hash tablosu üzerindeki beş ana işlem şunlardır:
- Put: Bir anahtar-değer çiftini saklar veya anahtar zaten mevcutsa değeri günceller.
- Get: Belirli bir anahtar için değeri arar.
- ContainsKey: Bir anahtarın tabloda saklanıp saklanmadığını kontrol eder.
- Remove: Bir anahtar-değer çiftini siler.
- Size: Şu anda saklanan çiftlerin sayısını döndürür.
Hadi bir HashMap sınıfı oluşturalım!
Kendin dene
Bu ders bir kod alıştırması içermiyor.