2021-05-19

哈希法

设哈希表维14,哈希函数时H(key)=key%11,表中已有数据的关键字维15,38,61,84共四个,现要将关键字维49的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是:

A、8 B、3 C、5 D、9

15,38,61,84除11的余数分别为4,5,6,7,没有重复,因此分别就放在这4个下标 49除11的余数为5,发生冲突,因为是二次探测,所以接下来分别探测+1, -1, +4, -4, +9, -9... 显然5 + 1, 5 - 1的位置都有冲突,5 + 4的位置没有冲突 所以最后放入的位置是9对一个元素第一次计算的哈希地址为d,则第三次计算的哈希地址为:d+4为冲突生成地址的方法是 d±k² (k=1....n/2) k为 1 2 3 到 7

 

 

例  表长为11的哈希表中已填有关键字为176029的记录,H(k)=k  MOD  11,现有第4个记录,其关键字为38, 按线性探测法处理冲突的方法,将它填入表中。

H(38)=38 MOD 11=5    冲突

       H1=(5+1) MOD 11=6    冲突

       H2=(5+2) MOD 11=7    冲突

       H3=(5+3) MOD 11=8    不冲突

 

 

  1. 中序遍历可以得到从小到大的序列。
  2. 单枝形态效率最低。二叉排序树在      形态下查找效率最低。
  3. 满二叉形态效率最高
  4. 静态查找表与动态查找表两者的根本差别在于操作不同。

 

 

  1. 对n个元素的表进行顺序查找,若查找每个元素的概率相同,则平时查找长度为(n+1)/2
  2. 适用于折半查找的存储方式及元素排列要求为:顺序存储,元素有序。
  3. 在有序表上查找数据时,在大部分情况下折半比顺序查找要快。如果序号为1则顺序查找更快,有时候是相同。所以是大部分,尤其当要查找的数比较靠后时更有用。
  4. 对22个记录的有序表进行折半查找,当查找失败时,至少要比较(4)次关键字,至多5次。解释:(22 个记录的有序表,其折半查找的判定树深度且该判定树不是满二叉树Log2(n+1)+1即查找失败时至多比较 5 次,至少比较 4 次
  5. 折半搜索与二叉树排序树的时间性能:有时不相同。
  6. 插入一个结点后不平衡,最低的不平衡结点为A,A的左孩子平衡因子为0,右孩子的平衡因子为1,则应用RL型 调整。
  7. m阶B-树,根结点至多有M棵子树。所有叶子都在同一层次上。非叶结点至少有m/2或m/2+1棵子树。相结点中的数据未必是有序的。
  8. B-树和B+树都是平衡多叉树。都可用于文件索引结构,都能有效的支持随机检索。
  9. M阶的B-树是M叉平衡排序树。
  10. 不存在特别好与坏的哈希函数,要视情况而定。
  11. 采用链地址法处理冲突时,若插入规定总是在链首,则插入任一个元素的时间是相同的,不会引起一次聚集现象。适合表长不确定情况。
  12. 采用线性探测法处理冲突,可能要探测多个位置,在查找成功的情况下,所探测的这些位置上的关键字:不一定都是同义词。
  13. 在对线性表进行折半查找时,要求线性表必须__b_____。

A.以顺序方式存储   B.以顺序方式存储,且结点按关键字有序排列

C.以链式方式存储   D.以链式方式存储,且结点按关键字有序排列

  1.  采用顺序查找法查找长度为n的线性表时,其平均查找长度为_c___ 。

    A.n             B.n/2           C.(n+1)/2            D.(n-1)/2

  1.    有一个有序表:   1,3,9,12,32,41,45,62,75,77,82,95,100

采用折半查找法查找值为82的记录时,要经_c___次关键字比较后,查找成功。

              A.1             B.2              C.4              D.8

16.设哈希表长m=14,哈希函数h(key)=key%11。表中已有四个记录,关键字分别为15、38、61、84,采用二次探测法解决冲突。那么关键字为49的记录的哈希地址为__d____。

   A.1             B.3              C.5              D.9

  1.  在下列各种查找方法中,只有_a____查找法的平均查找长度与表长n无关。

       A.哈希查找        B.二叉查找树      C.折半查找      D.分块查找

  1.   在开放地址法中,由于哈希到同一个地址而引起的“堆积”现象,是由___b___ 产生的。

    A.同义词之间发生冲突    B.非同义词之间发生冲突       

   C.同义词之间或非同义词之间发生冲突    D.哈希表“溢出”

  1.    在最坏的情况下,查找成功时二叉查找树的平均查找长度___c___ 。    A.小于线性表的平均查找长度  B.大于线性表的平均查找长度

  C.与线性表的平均查找长度相同

 D.无法与线性表的平均查找长度相比较

  1.  在哈希中采用线性探测法解决冲突时,产生的一系列后继哈希地址_c____。A.必须大于、等于原哈希地址  B.必须小于、等于原哈希地址

      C.可以大于或小于但不能等于原哈希地址 D.地址大小没有具体限制

  1.   给出关键字序列:loop、if、for、while、repeat,依照创建二叉排序树算法,画出所对应的二叉排序树。该树的平均查找长度是多少?(拍照上传)
  2.  
  3. 判定树:描述查找过程的二叉树叫判定树
  4. 折半查找在查找过程中进行的比较次数最多不超过其判定树的深度

 

  1.  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

just for CODE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值