目录
5.1.1自己设计一个分块查找的例子,不少于15个数据元素,并建立分块查找的索引
5.1.2基于上述例子,计算查找成功的ASL、查找失败的ASL
5.2.1自己设计一个折半查找的例子,不少于10个数据元素,画出对应的查找分析树
5.2.2基于上述例子,计算查找成功的ASL、查找失败的ASL
自己设计一个散列表,总长度由你决定,并设计一个合理的散列函数,使用线性探测法解决冲突
基于上述散列表,设计不少于10个元素的插入序列,依次插入散列表,画出散列表最终的样子(插入过程至少发生4次冲突)
【代码能力强的同学,尝试实现上述散列表的数据结构定义,并实现查找、插入、删除三个基本操作】
自己设计一个散列表,总长度由你决定,并设计一个合理的散列函数,使用拉链法解决冲突
基于上述散列表,设计不少于10个元素的插入序列,依次插入散列表,画出散列表最终的样子(插入过程至少发生4次冲突)
【代码能力强的同学,尝试实现上述散列表的数据结构定义,并实现查找、插入、删除三个基本操作】
(51条消息) 【数据结构-查找】1.通俗易懂讲解 —— 顺序-折半-分块查找_折半查找分块查找的asl_浙桐的博客-CSDN博客
分块查找
5.1.1自己设计一个分块查找的例子,不少于15个数据元素,并建立分块查找的索引
5.1.2基于上述例子,计算查找成功的ASL、查找失败的ASL
ASL成功/失败 = L1+Ls =( s^2+2s+n)/2s = (36 + 12 + 18)/2*6 = 5.5
当s=根号n 即 s = 根号18 = 4时,ASL最小 = 根号n+1 = 5
折半查找
5.2.1自己设计一个折半查找的例子,不少于10个数据元素,画出对应的查找分析树
有序序列{7,10,13,16,19,29,32,33,37,41,43}
5.2.2基于上述例子,计算查找成功的ASL、查找失败的ASL
ASL成功 =(1x1 + 2x2 +3x4 +4x4 )/11 = 3 (圆形结点)
ASL失败 = (3x4 +4x8)/12 = 11/3 (方形结点)
散列查找
自己设计一个散列表,总长度由你决定,并设计一个合理的散列函数,使用线性探测法解决冲突
线性探测法属于开放定址法
![]()
基于上述散列表,设计不少于10个元素的插入序列,依次插入散列表,画出散列表最终的样子(插入过程至少发生4次冲突)
基于上述例子,计算查找成功的ASL、查找失败的ASL
查找失败ASL = (1 + 13 + 12 + ……+2 )/13 = 7