Giả sử tôi có thuật toán băm, và nó đẹp và mượt mà (Tỷ lệ cược của bất kỳ giá trị băm nào cũng giống như bất kỳ giá trị nào khác).Làm thế nào để tính toán tỷ lệ cược của một vụ va chạm trong thuật toán băm?
Bây giờ nói rằng tôi biết rằng tỷ lệ cược của việc chọn 2 băm và có va chạm là (Vì lợi ích của đối số) 50000: 1.
Bây giờ, tôi chọn 100 băm. Làm cách nào để tính toán tỷ lệ cược của một vụ va chạm trong tập hợp 100 giá trị đó, với tỷ lệ cược của một vụ va chạm trong một bộ 2?
Giải pháp chung cho điều này là gì, để tôi có thể đưa ra một số lần thử băm sau khi tỷ lệ cược giảm xuống dưới ngưỡng chấp nhận được? Ví dụ. Tôi có thể nói những thứ như "Một loạt 49999 giá trị băm sáng tạo có khả năng va chạm cao".
Một thuật toán băm hoàn hảo là một trong những nơi không có va chạm. Tôi chỉ nghĩ tôi sẽ chỉ ra. Xin lỗi vì được cầu kỳ :-) – CiscoIPPhone
Giả sử miền của hàm băm lớn hơn phạm vi, điều đó là không thể. Nếu không, tại sao lại sử dụng băm? – recursive
Vâng, bạn vẫn nhận được lợi thế về tốc độ của việc sử dụng hàm băm thay vì tìm kiếm. http://en.wikipedia.org/wiki/Perfect_hash_function – CiscoIPPhone