hash冲突引发原因:
1、当关键字值域远大于哈希表的长度,而且事先并不知道关键字的具体取值时,冲突就难免会发生; 2、当关键字的实际取值大于哈希表的长度时,而且表中已装满了记录,如果插入一个新记录,不仅发生冲突,而且还会发生溢出;
解决方式总结:
拉链法:将所有的关键字为同义词的节点链接在同一个单链表中,将散列表定义为长度为m的指针数组(T[m]);凡是关键字的hash值为i的值,均放置到T[i]的链表中;
散列表中的链表初始化均为null;
如图: