设计哈希函数;分别采用线性探测再散列法和链地址法解决冲突
1.线性探测再散列:建立一个一维数组,需要计算数组的容量。如果是对12个数建立哈希表,则表长通过填满因子,计算为15。线性解决冲突的方法是通过哈希函数取得哈希地址,如果此哈希地址中元素为空,则把元素放进去,如果此哈希地址内有元素,则取一定的增量,判断加上增量的哈希地址内是否有元素,如果没有放进去,否则增量再次增加,循环直至所有元素都放进去。
2.链地址解决冲突:选择线性数组结构存放单链表的指针,遍历的时候,可以通过指针域不断地向下遍历。
最重要一点就是对在建立哈希表中的表的结构进行初始化,巧妙地初始化能让空的哈希表发挥作用。
全部代码:
——鲁东大学 刘凯 2018年12月27号