Sobes.tech
Junior

Hash tablosu nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir hash tablosu, bir ilişkilendirilmiş dizi (sözlük) uygulayan bir veri yapısıdır. Benzersiz anahtarlar içeren "anahtar-değer" çiftlerini saklar.

Temel ilkeler:

  • Hash fonksiyonu: Anahtarı bir sayıya dönüştürür (hash kodu veya indeks). Bu indeks, değerin depolandığı yeri gösterir (sepet).
  • Dizi (sepetler): Gerçek "anahtar-değer" çiftlerinin depolandığı yer.
  • Çakışmalar: Farklı anahtarların aynı hash kodunu üretmesi durumu.

Çakışma çözümü:

  • Bağlantı yöntemi (Separate chaining): Her sepette, aynı hash koduna sahip öğelerin listesi (veya başka bir veri yapısı) bulunur.
  • Açık adresleme (Open addressing): Çakışma durumunda, farklı stratejiler kullanılarak boş sepet aranır (doğrusal sondalama, kuadratik sondalama, çift hashleme).

Özellikler:

  • Hızlı erişim: İdeal durumda O(1) ekleme, arama ve silme işlemleri için.
  • Hash fonksiyonuna bağlılık: Hash fonksiyonunun kalitesi ve çakışma çözüm stratejisi performansı önemli ölçüde etkiler.
  • Hafıza kullanımı: Sepetler dizisi için ek hafıza gerektirir.

QA'da kullanımı:

  • Test verilerinin saklanması (anahtar - parametre adı, değer - beklenen veya gerçek değer).
  • Öğelerin benzersizliğinin kontrolü (örneğin, kullanıcı ID'leri).
  • Önbelleklerin uygulanması.