6.第六章 搜索 、KMP 历年真题

1.2011 42

在这里插入图片描述

2.2012 9

在这里插入图片描述

3.2013 10

在这里插入图片描述

4.2013 42

在这里插入图片描述

5.2014 9

在这里插入图片描述

6.2015 7

(中序遍历必须有序的)
在这里插入图片描述

7.2016 9

在这里插入图片描述

8.2016 10

在这里插入图片描述
B+树有水平方向的指针,支持顺序查找;
B树没有水平方向的指针,要进行回溯才能进行进行查找。

9.2018 8

在这里插入图片描述
在这里插入图片描述

10.2020 10

在这里插入图片描述

11.2011 9

在这里插入图片描述

12.2015 8

在这里插入图片描述

13.2019 9

在这里插入图片描述

14.2018 9

在这里插入图片描述

15.2019 8

在这里插入图片描述

16.KMP 求next[]和nextval[]的解法:

在这里插入图片描述
若开头两个ne元素为-1,0,做法就是将原来的ne[]整体减1.

求nextval[]例题:

在这里插入图片描述

17.二次探测再散列

在这里插入图片描述
在这里插入图片描述
49%11=5,此时发生冲突,按二次探测法:
1.(5+1^2)%14=6 冲突
2.(5-1^2)%14=4 冲突
3.(5+2^2)%14=9 不冲突
4.(5-2^2)%14=1 (如有必要)
选D

18.哈希函数例题:

例: 给定关键字序列11,78,10,1,3,2,4,21,试分别用顺序查找、二分查找、二叉排序树查找、哈希查找(用线性探查法和拉链法)来实现查找,画出它们的对应存储形式(顺序查找的顺序表,二分查找的判定树,二叉排序树查找的二叉排序树及两种哈希查找的哈希表),并求出每一种查找成功的平均查找长度。哈希函数H(k)=k%11。

1.顺序查找的顺序表(一维数组)

在这里插入图片描述
ASL=1+2+3+4+5+6+7+88\frac{1+2+3+4+5+6+7+8}{8}81+2+3+4+5+6+7+8=4.5;

2.二分查找的判定树(中序序列为从小到大排列的有序序列)

在这里插入图片描述
ASL=1+2∗2+3∗4+48\frac{1+2*2+3*4+4}{8}81+22+34+4=2.625;

3.二叉排序树(关键字顺序已确定,该二叉排序树应唯一)

在这里插入图片描述
ASL=1+2∗2+3∗2+4+5∗28\frac{1+2*2+3*2+4+5*2}{8}81+22+32+4+52=3.125;

4.线性探查法

在这里插入图片描述
ASL=1+1+2+1+3+2+1+88\frac{1+1+2+1+3+2+1+8}{8}81+1+2+1+3+2+1+8=2.375;

5.拉链法

在这里插入图片描述
ASL=1∗6+2∗28\frac{1*6+2*2}{8}816+22=1.25;

19.分块查找在这里插入图片描述

设有n个元素,分为k块,每块元素有n个,则:
ASL=s2+2s+n2s\frac{s^2+2s+n}{2s}2ss2+2s+n=6.5

20.哈希线性探测总次数

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Jay_fearless

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

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

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

打赏作者

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

抵扣说明:

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

余额充值