Bölüm 12 · Simülasyon

Açık Adresleme Simülatörü

← Bölüm 12

Formül

h(k, i) = (h(k) + i) mod 13
dolu✗ DEFUNCT (silindi)yoklandı (sayı = yoklama sırası)ev yuvası h(k)

Yoklama dizisi

  1. Henüz işlem yok.

Geçmiş

  1. Henüz işlem yok.

Açık Adresleme Simülatörü

Açık adreslemede her anahtar doğrudan tablo dizisinin içinde saklanır. Ev yuvası h(k) = k mod N doluysa anahtar, kullanılabilir bir yuva bulunana kadar i = 0, 1, 2, … için j = (h(k) + f(i)) mod N yoklama dizisini izler.

Kullanım

  • Bir tam sayı anahtar yazıp Ekle, Ara ya da Sil'i seçin. Yoklanan yuvalar yoklama sırasına göre numaralanır; ev yuvası çerçeveyle belirtilir.
  • Yoklama yöntemini ve tablo boyutu N'yi seçin. İkisinden birini değiştirmek tabloyu yeniden kurar ve örnek anahtarları (18, 41, 22, 44, 59, 32, 31, 73) yeniden yükler.
  • Yoklama dizisi paneli son işlemin bütün yoklamalarını listeler; sayaçlar anahtar sayısı n'yi, yük faktörü λ = n / N'yi, ✗ işaretlerinin sayısını ve kullanılan yoklama sayısını gösterir.

Yoklama yöntemleri

Yöntemf(i)Not
DoğrusaliBasittir ama uzun öbekler oluşturur (birincil kümelenme).
Kareseli²Öbekleri dağıtır ama her yuvaya ulaşamayabilir; asal N ile λ ≤ 0,5 boş yuva bulunmasını garanti eder.
Çift hashi · h₂(k)h₂(k) = R − (k mod R), R = 7 (N = 7 iken R = 5); adım hiçbir zaman 0 olmaz.

DEFUNCT işaretiyle silme

Bir yuvayı boşaltmak, oradan geçen yoklama dizilerini koparır; bu yüzden silme işlemi yuvada ✗ DEFUNCT işareti bırakır. Arama işaretleri atlar ve yalnızca gerçekten boş bir yuvada durur; ekleme ise anahtarın tabloda olmadığını anladıktan sonra karşılaştığı ilk işareti yeniden kullanabilir.

Yük faktörü

Beklenen yoklama sayısı λ 1'e yaklaştıkça hızla artar. Açık adreslemeli tablolar genellikle λ ≤ 0,5 düzeyinde tutulur ve bu sınır aşılınca daha büyük bir tabloya yeniden hash'lenir; λ kutusu 0,5'in üstünde vurgulanır.