1.线性探测法 就是当要插入的行号发生冲突时,往下一个行号存放哈希值,直到没有冲突。2.分离链接法 就是将一个行号做成链表的形式,如果有这个行号的冲突便新建一个节点将其插入这个行号的链表中。 在Mahout中,FastByIDMap是基于散列的,但它在处理散列冲突时使用的是线性探测,而非分离...
分类:
其他好文 时间:
2014-11-10 17:01:54
阅读次数:
202
分离链接法
hash table是映射机制的,最大的优点就是它的操作是O(1)级别的。但是会出现哈希冲突,这就需要几种办法来解决。这里先说一种:分离链接法。
就是当插入的位置已经存在一个值之后,那么在这个值之后插入,就可以了,也叫拉链法。(但是其实会降低查找速度,变成O(n)级别)
下面是代码:
//
// main.cpp
// HashTable_SeparateCha...
分类:
其他好文 时间:
2014-08-05 22:35:10
阅读次数:
246
#include#includetypedef char* ElementType;typedef unsigned int Index;#define MinTableSize 15struct ListNode;typedef struct ListNode *Position;struct H...
分类:
其他好文 时间:
2014-06-26 18:04:01
阅读次数:
155