Hãy nói rằng bạn có hai chuỗi những các chuỗiC++: Gợi ý về một hàm băm cho một chuỗi các chuỗi nơi thứ tự của chuỗi là không thích hợp
abc cba bc
bc abc cba
Tôi đang cố gắng để tạo một ánh xạ cho các chuỗi như vậy (chuỗi cũng là một chuỗi) sao cho hai chuỗi trên được ánh xạ vào cùng một nhóm.
Suy nghĩ ban đầu của tôi là thêm kết quả của hàm băm được áp dụng cho từng chuỗi riêng biệt. Theo cách này, thứ tự của họ sẽ không thành vấn đề. Nếu tôi áp dụng hàm băm cho chuỗi chuỗi như một tổng thể, thì tất nhiên kết quả băm sẽ khác nhau.
Tuy nhiên tôi rất mới với thế giới của các hàm băm chuỗi và tôi không biết liệu phương pháp này có hiệu quả hay không.
Trong trang web này http://www.partow.net/programming/hashfunctions/index.html
tôi tìm thấy nhiều hiện thực khác nhau cho chuỗi băm, tuy nhiên tôi không chắc chắn cái nào sẽ là "tốt nhất" cho nhu cầu của tôi.
Một số chi tiết kỹ thuật về từng chuỗi trong chuỗi là mỗi chuỗi trong số đó sẽ không có nhiều hơn 25 ký tự. Ngoài ra, mỗi chuỗi sẽ không có nhiều hơn 3 chuỗi.
Câu hỏi
1.
sẽ tiếp cận này thêm kết quả của một hàm băm chuỗi cho mỗi chuỗi các công việc tự?
2.
Nếu có chức năng băm chuỗi nào tôi nên sử dụng, điều đó sẽ cho ra một lượng va chạm thấp và cũng có hiệu quả về thời gian?
Cảm ơn bạn trước
Sẽ hữu ích khi áp dụng hàm băm cho bản sao được sắp xếp của chuỗi chuỗi không? –
kích thước của bảng chữ cái (nghĩa là bộ ký tự nào sẽ được sử dụng)? – didierc
Bạn muốn chúng trong cùng một nhóm, nhưng KHÔNG để va chạm? Thứ tự cao. – WhozCraig