哈希冲突及解决方法

  如果两个不同对象的hashCode相同,这种现象称为hash冲突。有以下的方式可以解决哈希冲突:

  1. 开放定址法:
    开放定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入。
  2. 链地址法:
    将哈希表的每个单元作为链表的头结点,所有哈希地址为i的元素构成一个同义词链表。即发生冲突时就把该关键字链在以该单元为头结点的链表的尾部。
  3. 再哈希法:
    当哈希地址发生冲突用其他的函数计算另一个哈希函数地址,直到冲突不再产生为止。
  4. 建立公共溢出区:
    将哈希表分为基本表和溢出表两部分,发生冲突的元素都放入溢出表中。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。