Dengan metode resolusi tabrakan konvensional seperti chaining terpisah dan linear / kuadrat probing, urutan probe untuk kunci dapat panjang sewenang-wenang - hanya disimpan pendek dengan probabilitas tinggi dengan menjaga faktor beban tabel rendah. Tabrakan selama pengulangan bukan masalah karena tidak mempengaruhi faktor beban.
Namun, dengan hashing kukuk (dan metode lain yang menawarkan waktu pencarian O (1) kasus terburuk?), Pengubahan ukuran harus terjadi ketika urutan probe untuk kunci terlalu lama. Tetapi ketika kunci dikocok sekitar selama pengulangan, itu mungkin bahwa mereka membuat urutan penyelidikan terlalu lama untuk satu kunci, memerlukan ukuran lain - mungkin beberapa, jika ini terjadi beberapa kali berturut-turut. Probabilitasnya kecil, terutama dengan fungsi hash yang baik, tetapi saya telah melihatnya terjadi.
Apakah ada cara - singkat secara eksplisit menghasilkan fungsi hash yang sempurna selama pengulangan - untuk memastikan bahwa ukuran tidak dapat mengalir dengan cara ini? Mungkin khusus untuk skema resolusi tabrakan yang diberikan? Literatur yang saya temui sejauh ini tampaknya sepenuhnya menutupi masalah ini. Ingatlah bahwa saya juga tertarik untuk mengecilkan tabel hash, tidak hanya menumbuhkannya.
sumber