Sobes.tech
Junior — Middle

Bir hash tablasının çalışma prensibini ve verilerin nasıl saklandığını açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir hash tablosu, anahtarla verilere çok hızlı erişim sağlayan bir veri yapısıdır. Çalışma prensibi, anahtarı dizinin bir indeksine dönüştüren bir hash fonksiyonunun kullanılmasına dayanır ve burada karşılık gelen değer saklanır.

Bir anahtar-değer çifti kaydetmek gerektiğinde, hash fonksiyonu indeksi hesaplar ve veriler bu indeksdeki dizinin hücresine yerleştirilir. Anahtarla arama yaparken, hash fonksiyonu tekrar indeksi hesaplar ve ihtiyaç duyulan değer hızlıca bulunur.

İki farklı anahtar aynı indeksi veriyorsa (çakışma), genellikle zincirleme yöntemi kullanılır: hücrede, bu indeksle ilişkili tüm öğelerin bir listesi saklanır ve arama bu listede yapılır.

Dart (Flutter) örneği:

void main() {
  Map<String, int> hashTable = {};
  hashTable['apple'] = 5;
  hashTable['banana'] = 3;

  print(hashTable['apple']); // 5
}

Burada, Map bir hash tablosunun uygulamasıdır, anahtar bir dizedir ve değer bir sayıdır.