![]() |
1
0
除非你打算逐个元素进行搜索(在这种情况下,你不需要哈希,只需要一个简单的列表),否则你基本上要问的是——我能有一个哈希吗,比如hash(X)==hash(Y),但X=Y、 这样您就可以使用part1映射到一个位置,然后使用part2或part3映射到同一个位置。这与哈希所代表的完全相反。 你应该做的是(正如viraptor也建议的那样)创建3个结构,每个结构都使用值的不同部分进行散列,并将全部值推送给所有3个。然后,当你需要搜索时,根据你想要搜索的部分使用正确的哈希。 例如:
然后
或
上面的2应该产生完全相同的值。 还要确保所有数据操作(删除值、更改值)都是同时对所有3个结构进行的。例如-
|
![]() |
danial · 如何在多个字符串的每个位置找到最频繁的字符 2 年前 |
![]() |
Manny · 如何比较Perl中的字符串? 2 年前 |
![]() |
Diret · 获取范围内每个数字的子倍数的算法 2 年前 |
![]() |
Saif · 排序时python如何决定何时调用比较器? 2 年前 |