Tôi thấy liên kết này hữu ích một chút. Nó cung cấp cho một cái nhìn tổng quan cơ bản nhưng rơi ngắn của một sự hiểu biết thấu đáo về những thứ như lý do tại sao thủ, tại sao chút chuyển vv ..
http://www.i-programmer.info/babbages-bag/479-hashing.html
Từ liên kết này, nổi bật một số phần đó đưa ra một cái nhìn tổng quan
Điều gì tạo nên hàm băm tốt Các hàm băm tốt nhất hoạt động bằng cách tính phần còn lại sau khi chia cho kích thước bảng N.
Giá trị này luôn mang lại giá trị từ 0 đến N-1. thì nó cũng tuyệt vời khi phân tán dữ liệu quanh bàn. Tất nhiên, nếu bạn có một giá trị văn bản mà bạn muốn băm đầu tiên bạn phải chuyển đổi nó thành một giá trị số thích hợp và một sơ đồ đơn giản giống như một trong ví dụ sẽ không làm.
Bạn cần tạo một giá trị số khác nhau cho mọi giá trị văn bản có thể và cộng các mã ASCII của hai chữ cái đầu tiên rõ ràng không hoạt động. Phương pháp tốt hơn là cân mỗi mã ASCII bằng vị trí của chữ cái bằng cách nhân với 1 cho ký tự đầu tiên, 10 cho ký tự thứ hai, 100 cho số thứ ba và vv .. trước khi thêm chúng lên để cho một giá trị duy nhất.
Nói chung việc xây dựng hàm băm thực sự tốt là khó khăn và trong hầu hết các trường hợp, bạn cần phải tìm một hàm có tính chất tốt và đã được thử nghiệm tốt.
câu hỏi là về hàm băm chứ không phải bảng băm. – codymanix
Cảm ơn @codymanix, tôi đã thêm bản chỉnh sửa để tránh bất kỳ sự nhầm lẫn nào. –
Trang Hash Function của Wikipedia không phải là một hướng dẫn hay. – Frank