Junior
Hash tablosu nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bir hash tablosu, sabit boyutlu bir dizi (kova veya slot) ve bir hash fonksiyonundan oluşur.
-
Dizi (Kovalar/Slotlar): Anahtar-değer çiftlerinin saklandığı hücrelerin bir dizisini temsil eder. Dizinin boyutu, öğelerin saklanabileceği olası yerlerin sayısını belirler.
-
Hash fonksiyonu: Anahtarı tam sayı değerine (hash kodu) dönüştürür ve bu, dizideki (kova) hücrenin indeksini belirlemek için kullanılır; burada karşılık gelen değer saklanır veya alınır.
Ayrıca, şu unsurlar bulunabilir:
- Çakışma çözüm stratejisi: Farklı anahtarların aynı hash kodunu üretmesi ve aynı dizi hücresine işaret etmesi durumlarını ele alan mekanizma. Yaygın stratejiler:
- Bağlantı Yöntemi (Separate Chaining): Her dizi hücresi, bu hücreye işaret eden tüm "anahtar-değer" çiftlerini içeren bağlı listeye (veya başka bir veri yapısına) işaret eden bir gösterici saklar.
- Açık adresleme: Çakışma durumunda, belirli bir kurala göre (örneğin, doğrusal veya kuadratik sondalama) dizide boş bir hücre aranır.