当处理哈希映射时,我看到了一些应对哈希冲突的策略,但我们想出了一些不同的方法。我想知道这是否是新的方法。
这个版本的哈希映射只在哈希和将要被哈希的数据结构可盐时才有效。 (在 Haskell 的
这个想法是,不是在哈希映射的每个单元格中存储列表或数组,而是存储一个递归的哈希映射。这个递归哈希映射的唯一区别在于使用不同的盐。这样,哈希映射的一个级别上的哈希冲突很可能不是下一个级别上的哈希冲突。因此,插入到这样的哈希映射中不再是 O(此哈希上的冲突数),而是 O(递归发生冲突的级别数),这很可能更好。
更详细的说明和实现可以在这里找到:
这个版本的哈希映射只在哈希和将要被哈希的数据结构可盐时才有效。 (在 Haskell 的
hashable
中,我们建议实现这种方法。)这个想法是,不是在哈希映射的每个单元格中存储列表或数组,而是存储一个递归的哈希映射。这个递归哈希映射的唯一区别在于使用不同的盐。这样,哈希映射的一个级别上的哈希冲突很可能不是下一个级别上的哈希冲突。因此,插入到这样的哈希映射中不再是 O(此哈希上的冲突数),而是 O(递归发生冲突的级别数),这很可能更好。
更详细的说明和实现可以在这里找到: