1
SoloCompany 2016-10-25 01:09:08 +08:00
不管是什么实现 Bucket 当然需要存 key pair 了
否则,先不谈遍历,你 put 的时候怎么知道是否发生了 collision |
2
Powered OP @SoloCompany
所以是, bucket 中存 entry 对象, hash(key)得到的 index 是 bucket 的索引吗 |
3
SoloCompany 2016-10-25 01:20:20 +08:00
@Powered bucket 可以放一个链表,或者数组,因为你不能忽略 collision
|
4
cloud107202 2016-10-25 09:51:08 +08:00
一般 bucket 中是个 entry 链表, hash(key1)得到 bucket 的 index ,然后遍历链表,比对 key1 与链表每个 entry 对象的 key 。如果 hash 函数设计良好,元素均匀的分散在各个 bucket 中, entry 链表的遍历开销可认为是 O(1)
|