Với các phương pháp giải quyết va chạm thông thường như tách chuỗi và thăm dò tuyến tính / bậc hai, trình tự thăm dò cho một khóa có thể dài tùy ý - đơn giản là nó được giữ ngắn với xác suất cao bằng cách giữ hệ số tải của bảng thấp. Do đó, va chạm trong quá trình luyện lại không phải là vấn đề vì chúng không ảnh hưởng đến hệ số tải.
Tuy nhiên, với băm cuckoo (và các phương pháp khác cung cấp thời gian tra cứu O (1) trong trường hợp xấu nhất?), Việc thay đổi kích thước phải xảy ra khi trình tự thăm dò cho một khóa quá dài. Nhưng khi các phím bị xáo trộn trong quá trình thử lại, có thể là chúng tạo ra một chuỗi thăm dò quá dài cho một phím, yêu cầu thay đổi kích thước khác - có thể nhiều lần, nếu điều này xảy ra nhiều lần liên tiếp. Xác suất là nhỏ, đặc biệt là với hàm băm tốt, nhưng tôi đã thấy điều đó xảy ra.
Có cách nào - không rõ ràng tạo ra một hàm băm hoàn hảo trong quá trình thử lại - để đảm bảo rằng thay đổi kích thước không thể xếp tầng theo cách này? Có thể cụ thể cho một kế hoạch giải quyết va chạm nhất định? Các tài liệu tôi đã gặp cho đến nay dường như hoàn toàn che đậy vấn đề. Hãy nhớ rằng tôi cũng quan tâm đến việc thu nhỏ các bảng băm, không chỉ phát triển chúng.