2

为什么我需要同时实现 == 运算符和返回 size_t 的随机运算符?返回 size_t 的方法实际上应该返回什么?

编辑:当我说随机运算符时,我并不是说它没有用。我的意思是,在我看来,我看不出它有什么用,因此是最后一个问题。7

4

1 回答 1

4

散列容器(散列表、散列映射、无序映射)使用散列函数生成单个整数值来表示条目的索引(或键)。这使得查找非常快速,因为(假设我们有很好的散列值分布)一旦我们有了散列,我们只需要查看那个索引。大多数其他存储方法意味着比较一堆东西,直到找到正确的元素。

实际上只有两条关于散列键的规则: 1. 每次调用散列函数时,对于给定的输入,您都会得到相同的键。2. 不同输入的值是不同的——它不一定是唯一的,但是你从相似的输入中得到的传播越多越好。

于 2013-08-02T15:43:51.007 回答