首页 > 代码库 > 哈希表冲突的两个解决方法线性探测和分离链接法

哈希表冲突的两个解决方法线性探测和分离链接法

1.线性探测法

  就是当要插入的行号发生冲突时,往下一个行号存放哈希值,直到没有冲突。

2.分离链接法

  就是将一个行号做成链表的形式,如果有这个行号的冲突便新建一个节点将其插入这个行号的链表中。

 

      在Mahout中,FastByIDMap是基于散列的,但它在处理散列冲突时使用的是线性探测,而非分离链接。因为线性探测不必为每个条目新增加一个额外的Map.Entry对象,节省了内存开销;在数据规模很庞大的时候,这种优势更加体现得出来。

哈希表冲突的两个解决方法线性探测和分离链接法