线性探测法处理冲突代码 线性探测法处理冲突

【线性探测法处理冲突代码 线性探测法处理冲突】

线性探测法处理冲突代码 线性探测法处理冲突

文章插图
用线性探测法解决冲突:可能要探测多个散列地址,这些位置上的键值(不一定都是同义词)散列表就是哈希表,它用散列函数将键值映射到散列表中的存储位置 。同义词是指具有相同散列函数值的关键字 。
线性探测法处理冲突代码 线性探测法处理冲突

文章插图
散列表的存储结构是根据关键字的散列函数值来确定关键字在散列表中的存储位置的,对同义词的处理根据不同情况有不同的冲突处理方法 。用线性探测法查找闭散列表,可能要探测多个散列地址,这些位置上的键值不一定都是同义词,因为同义词不一定存放在相邻的位置 。
线性探测法处理冲突代码 线性探测法处理冲突

文章插图
为了搜索给定的键x,散列表中由h(x)对应的单元开始的相邻单元h(x)+1,h(x)+2,都将被检查,直到找到了内容为空的单元或是找到了存储给定键为x的单元 。
线性探测法处理冲突代码 线性探测法处理冲突

文章插图
其中,h是散列函数 。如果找到了存储给定键的单元,搜索将会返回单元中存储的键对应的值 。否则,如果搜索遇到了空的单元,键在表中就不存在,因为键应当被存放在所有未被搜索的单元之前 。