数据结构63530.ppt

软件技术基础 数据结构 操作系统 第一章数据结构 §1.1 数据结构的基本概念 §1.2 线性结构 §1.3 非线性结构 §1.4 查找和排序 三、数据结构的三个层次 数据元素之间的逻辑关系 数据元素的存储结构 数据结构的操作集合 哈希查找 哈希(hash)查找 散列检索 根据关键字,进行运算,确定元素存储位置平均查找次数: hash算法 截段法:从关键字中截取一段 例:关键字为学号,在管理时可从关键字中截取后三位作为元素在表格中的存放位置。 除法:将关键字除以表格长度,取其余数。 乘法: 分段迭加法: 其它算法 查找 哈希查找 冲突及解决 冲突 较大的关键字空间映射到较小的地址空间内,可能出现不同的关键字映射到同一个地址 即:hash(key1) hash(key2) 解决方法 外链表法(链地址法) 开放地址法 链地址法 将hash值相同的表项,使用链表链在一起 线性探测法 使用数组存储方式 存放时,如果hash结果冲突,将新的表项放在下一个空闲的存储单元 检索时当发现当前hash地址里存放的不是需要的元素,就从下一个存储单元开始逐个探查。——线性探查 例 关键字模6的hash运算 以关键字分别为6,10,12,18,11,13的顺序存放元素。 查找关键字为12,18,13的元素 开放地址法 Hi(k) = (H(K)+ di)mod m i:第i个冲突

文档评论(0)

1亿VIP精品文档

相关文档