《数据结构》习题集:第9章_查找
《数据结构》第九章习题参考答案

《数据结构》第九章习题参考答案《数据结构》第九章习题参考答案一、判断题(在正确说法的题后括号中打“√”,错误说法的题后括号中打“×”)1、快速排序是一种稳定的排序方法。
(×)2、在任何情况下,归并排序都比简单插入排序快。
(×)3、当待排序的元素很大时,为了交换元素的位置,移动元素要占用较多的时间,这是影响时间复杂度的主要因素。
(√)4、内排序要求数据一定要以顺序方式存储。
(×)5、直接选择排序算法在最好情况下的时间复杂度为O(n)。
( ×)6、快速排序总比简单排序快。
( ×)二、单项选择题1.在已知待排序文件已基本有序的前提下,效率最高的排序方法是(A)。
A.直接插入排序B.直接选择排序C.快速排序D.归并排序2.下列排序方法中,哪一个是稳定的排序方法?(B)A.直接选择排序B.折半插入排序C.希尔排序D.快速排序3、比较次数与排序的初始状态无关的排序方法是( B)。
A.直接插入排序B.起泡排序(时间复杂度O(n2))C.快速排序D.简单选择排序4、对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47 (4)15 21 25 47 84 则采用的排序是( A)。
A. 选择B. 冒泡C. 快速D. 插入5、快速排序方法在(D)情况下最不利于发挥其长处。
A. 要排序的数据量太大B. 要排序的数据中含有多个相同值C. 要排序的数据个数为奇数D. 要排序的数据已基本有序6、用某种排序方法对线性表{25,84,21,47,15,27,68,35,20}进行排序,各趟排序结束时的结果为:(基准)20,21,15,25,84,27,68,35,47(25)15,20,21,25,47,27,68,35,84(左20右47)15,20,21,25,35,27,47,68,84(左35右68)15,20,21,25,27,35,47,68,84 ;则采用的排序方法为(C)。
数据结构第9章作业 查找答案

第9章 查找答案一、填空题1. 在数据的存放无规律而言的线性表中进行检索的最佳方法是 顺序查找(线性查找) 。
2. 线性有序表(a 1,a 2,a 3,…,a 256)是从小到大排列的,对一个给定的值k ,用二分法检索表中与k 相等的元素,在查找不成功的情况下,最多需要检索 9 次。
设有100个结点,用二分法查找时,最大比较次数是 7 。
3. 假设在有序线性表a[20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为 2 ;比较四次查找成功的结点数为 8 ;平均查找长度为 3.7 。
解:显然,平均查找长度=O (log 2n )<5次(25)。
但具体是多少次,则不应当按照公式)1(log 12++=n nn ASL 来计算(即(21×log 221)/20=4.6次并不正确!)。
因为这是在假设n =2m-1的情况下推导出来的公式。
应当用穷举法罗列:全部元素的查找次数为=(1+2×2+4×3+8×4+5×5)=74; ASL =74/20=3.7 !!!4.折半查找有序表(4,6,12,20,28,38,50,70,88,100),若查找表中元素20,它将依次与表中元素 28,6,12,20 比较大小。
5. 在各种查找方法中,平均查找长度与结点个数n 无关的查找方法是 散列查找 。
6. 散列法存储的基本思想是由 关键字的值 决定数据的存储地址。
7. 有一个表长为m 的散列表,初始状态为空,现将n (n<m )个不同的关键码插入到散列表中,解决冲突的方法是用线性探测法。
如果这n 个关键码的散列地址都相同,则探测的总次数是 n(n-1)/2=( 1+2+…+n-1) 。
(而任一元素查找次数 ≤n-1)二、单项选择题( B )1.在表长为n的链表中进行线性查找,它的平均查找长度为A. ASL=n; B. ASL=(n+1)/2;C. ASL=n +1; D. ASL≈log2(n+1)-1( A )2. 折半查找有序表(4,6,10,12,20,30,50,70,88,100)。
数据结构考研试题精选及答案第9章 查找答案

第9章集合部分答案解释如下。
4.不能说哪种哈希函数的选取方法最好,各种选取方法有自己的适用范围。
8.哈希表的结点中可以包括指针,指向其元素。
11.单链表不能使用折半查找方法。
20.按插入后中序遍历是递增序列的原则,若某结点只有右子树,而插入元素的关键字小于该结点的关键字,则会插入到该结点的左侧,成为其左孩子。
这种插入就不是插入到叶子下面。
21.从平衡因子定义看,完全二叉树任一结点的平衡因子的绝对值确实是小于等于1。
但是,平衡二叉树本质上是二叉排序树,完全二叉树不一定是排序树。
故不能说完全二叉树是平衡二叉树。
23.某结点的左子树根结点不一定是它的中序前驱,其右子树根结点也不一定是它的中序后继。
24.在等概率下,查找成功时的平均查找长度相同,查找失败时的平均查找长度不相同。
26.只有被删除结点是叶子结点时命题才正确。
三.填空题1.n n+1 2.4 3.6,9,11,12 4.55.26(第4层是叶子结点,每个结点两个关键字) 6.1,3,6,8,11,13,16,19 7.5,96 8.m-1,「m/2⎤-1 9.2,4,310.(1)哈希函数(2)解决冲突的方法 (3)选择好的哈希函数 (4)处理冲突的方法 (5)均匀(6)简单11.AVL树(高度平衡树,高度平衡的二叉排序树),或为空二叉树,或二叉树中任意结点左子树高度与右子树高度差的绝对值小于等于1。
12.小于等于表长的最大素数或不包含小于20的质因子的合数 13.16 14.⎣㏒n」+1215.(1)45 (2)45 (3)46(块内顺序查找) 16.k(k+1)/2 17.30,31.5(块内顺序查找)18.(1)顺序存储或链式存储 (2)顺序存储且有序 (3)块内顺序存储,块间有序 (4) 散列存储19.(n+1)/2 20.(n+1)/n*log2(n+1)-1 21.结点的左子树的高度减去结点的右子树的高度22.(1)顺序表(2)树表(3)哈希表(4)开放定址方法(5)链地址方法(6)再哈希(7)建立公共溢出区23.直接定址法 24.log⎡m/2⎤(21n+)+1 25.O(N) 26.n(n+1)/227.54 28.31 29.37/12 30.主关键字 31.左子树右子树32.插入删除 33.14 34.(1)126 (2)64 (3)33 (4)65 35.(1)low<=high (2) (low+hig) DIV 2 (3) binsrch:=mid (4)binsrch:=0 36.(1) k (2) I<n+1 37.(1)rear=mid-1 (2)head=mid+1 (3)head>rear 38.(1)p!=null (2)pf=p (3)p!=*t (4)*t=null四.应用题1.概念是基本知识的主要部分,要牢固掌握。
(完整word版)数据结构第九章查找

第九章查找:习题习题一、选择题1.散列表查找中k个关键字具有同一散列值,若用线性探测法将这k个关键字对应的记录存入散列表中,至少要进行( )次探测。
A. k B。
k+l C. k(k+l)/2 D. l+k (k+l)/22.下述命题( )是不成立的。
A。
m阶B-树中的每一个结点的子树个数都小于或等于mB。
m阶B-树中的每一个结点的子树个数都大于或等于『m/2-1C。
m阶B-树中的每一个结点的子树高度都相等D。
m阶B—树具有k个子树的非叶子结点含有(k-l)个关键字3.如果要求一个基本线性表既能较快地查找,又能适应动态变化的要求,可以采用( )查找方法.A。
分块 B. 顺序 C. 二分 D.散列4.设有100个元素,用折半查找法进行查找时,最大比较次数是( ),最小比较次数是( ).A。
7,1 B.6,l C.5,1 D. 8,15.散列表长m=15,散列表函数H(key)=key%13。
表中已有4个结点:addr(18)=5;addr(32)=6; addr(59)=7;addr(73)=8;其余地址为空,如果用二次探测再散列处理冲突,关键字为109的结点的地址是( )。
A. 8 B。
3 C. 5 D。
46.用分块查找时,若线性表中共有729个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块时,每块应分( )个结点最佳。
A。
15 B. 27 C。
25 D。
307.散列函数有一个共同性质,即函数值应当以( )取其值域的每个值。
A.同等概率B。
最大概率C。
最小概率D。
平均概率8.设散列地址空间为O.。
m—1,k为关键字,假定散列函数为h(k)=k%p,为了减少冲突,一般应取p为( )。
A.小于m的最大奇数B. 小于m的最大素数C.小于m的最大偶数D.小于m的最大合数9.当向一棵m阶的B-树做插入操作时,若使一个结点中的关键字个数等于( ),则必须分裂成两个结点。
A。
m B。
m-l C.m+l D。
数据结构答案_第9章_查找学习与指导上课讲义

(5)查找
在查找表中确定是否存在一个数据元素的关键字等于给定值的操作,称为查找(也称为检索)。
(6)内查找、外查找
整个查找过程全部在内存进行,则称为内查找;若在查找过程中还需要访问外存,则称为外查找。
= =5。
【例5】对含有n个互不相同元素的集合,同时找最大元素和最小元素至少需进行多少次比较?
由此可见,二分查找法的平均查找长度最小,分块查找法次之,顺序查找法平均查找长度最大。
【例4】画出对长度为20的有序表进行二分查找的判定树,并指出在等概率情况下,查找成功的平均查找长度以及查找失败时所需的最多与关键字值的比较次数。
分析:对长度为20的有序顺序表进行二分查找的判定树如图9-1所示。
图9-1判定树
数据结构答案_第9章_查找学习与指导
第
9.1知识点分析
1.基本概念
(1)查找表
由同一类型的数据元素(或记录)构成的集合称为查找表。
(2)静态查找
在查找过程中仅查找某个特定元素是否存在或它的属性的,称为静态查找。
(3)动态查找
在查找过程中对查找表进行插入元素或删除元素操作的,称为动态查找。
(4)关键字
等概率情况下的平均查找长度:
ASL=(1*1+2*2+3*4+4*8+6*5)/20=74/20=3.7
二分查找在查找失败时所需与键值比较次数不超过判定树的高度,因为判定树中度小于2的结点只可能在最下面的两层上,所以n个结点的判定树高度与n个结点的完全二叉树的高度相同,即为 。所以n个元素的有序表,查找失败时与关键字值最多比较 次。所以20个元素的有序表查找失败时最多与关键字值的比较次数为:
《数据结构》习题集:第9章查找(第1次更新2019-5)

第9章查找一、选择题1.顺序查找一个共有n个元素的线性表,其时间复杂度为(),折半查找一个具有n个元素的有序表,其时间复杂度为()。
【*,★】A.O(n)B. O(log2n)C. O(n2)D. O(nlog2n)2.在对长度为n的顺序存储的有序表进行折半查找,对应的折半查找判定树的高度为()。
【*,★】A.nB.C.D.3.采用顺序查找方式查找长度为n的线性表时,平均查找长度为()。
【*】A.nB. n/2C. (n+1)/2D. (n-1)/24.采用折半查找方法检索长度为n的有序表,检索每个元素的平均比较次数()对应判定树的高度(设高度大于等于2)。
【**】A.小于B. 大于C. 等于D. 大于等于5.已知有序表(13,18,24,35,47,50,62,83,90,115,134),当折半查找值为90的元素时,查找成功的比较次数为()。
【*】A. 1B. 2C. 3D. 46.对线性表进行折半查找时,要求线性表必须()。
【*】A.以顺序方式存储B. 以链接方式存储C.以顺序方式存储,且结点按关键字有序排序D. 以链接方式存储,且结点按关键字有序排序7.顺序查找法适合于存储结构为()的查找表。
【*】A.散列存储B. 顺序或链接存储C. 压缩存储D. 索引存储8.采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块时,每块应分()个结点最佳。
【**】A.10B. 25C. 6D. 6259.从键盘依次输入关键字的值:t、u、r、b、o、p、a、s、c、l,建立二叉排序树,则其先序遍历序列为(),中序遍历序列为()。
【**,★】A.abcloprstuB. alcpobsrutC. trbaoclpsuD. trubsaocpl10.折半查找和二叉排序树的时间性能()。
【*】A.相同B. 不相同11.一棵深度为k的平衡二叉树,其每个非终端结点的平衡因子均为0,则该树共有()个结点。
数据结构第九章--查找-习题及答案

第九章查找一、选择题1。
若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。
A. (n—1)/2 B. n/2 C。
(n+1)/2 D。
n2. 下面关于二分查找的叙述正确的是( )A。
表必须有序,表可以顺序方式存储,也可以链表方式存储 C. 表必须有序,而且只能从小到大排列B。
表必须有序且表中数据必须是整型,实型或字符型 D. 表必须有序,且表只能以顺序方式存储3. 用二分(对半)查找表的元素的速度比用顺序法( )A.必然快 B. 必然慢 C. 相等 D. 不能确定4. 具有12个关键字的有序表,折半查找的平均查找长度( )A. 3。
1 B。
4 C. 2。
5 D. 55.当采用分块查找时,数据的组织方式为 ( )A.数据分成若干块,每块内数据有序B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块C。
数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D. 数据分成若干块,每块(除最后一块外)中数据个数需相同6。
二叉查找树的查找效率与二叉树的( (1))有关, 在((2))时其查找效率最低(1): A。
高度 B。
结点的多少 C. 树型 D. 结点的位置(2): A。
结点太多 B. 完全二叉树 C。
呈单枝树 D. 结点太复杂。
7. 对大小均为n的有序表和无序表分别进行顺序查找,在等概率查找的情况下,对于查找失败,它们的平均查找长度是((1)) ,对于查找成功,他们的平均查找长度是((2))供选择的答案:A。
相同的 B。
不同的9.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是()A.(100,80, 90, 60, 120,110,130) B。
(100,120,110,130,80, 60, 90) C。
(100,60, 80, 90, 120,110,130) D。
数据结构(c语言版)题集答案——第九章_查找

*;
;
*;
} ;
{
*;
;
} ;供查找地双向循环链表类型
*( )在有序双向循环链表存储结构上地查找算法,假定每次查找都成功文档来自于网络搜索
{
;
(>>)
{
(>>) >;
;
}
(>{
(>;
;
}
;
}
分析:本题地平均查找长度与上一题相同,也是.
;
( )判断二叉树是否二叉排序树,是则返回,否则返回
{
(>) (>);
{
;
()沿分支向下查找
{
(>>[]);确定关键字所在子树
(>) ;关键字太大
>[];
}
(>[]);在叶子结点中查找
(>) ;找不到关键字
;
;
}
( )在树中插入字符串地结构见第四章文档来自于网络搜索
{
(*)(());
>;
>;建叶子结点
[];
;
(<>[([])])
{
;
>[([])];
;
}自上而下查找
(>)如果最后落到分支结点(无同义词):
(>>>)其余部分与上一题同
{
(>) >;
(>);
}
(>)
{
(>) >;
(>);
}
>;
>;
}
{
;
;
;域表示该结点地左子树地结点总数加
*,*;
} ,*;含域地平衡二叉排序树类型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第九章查找1.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,32.设二叉排序树中有n个结点,则在二叉排序树的平均平均查找长度为()。
A. O(1)B. O(log2n) C. O(n) D. O(n2) 5.设有序表中有1000个元素,则用二分查找查找元素X最多需要比较()次。
A. 25B. 10C. 7D. 16.顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为()。
A. O(n)B. O(n2)C. O(n1/2)D. O(1og2n) 8.()二叉排序树可以得到一个从小到大的有序序列。
A. 先序遍历B.中序遍历C. 后序遍历D. 层次遍历9.设一组初始记录关键字序列为(13,18,24,35,47,50,62,83,90,115,134),则利用二分法查找关键字90需要比较的关键字个数为()。
A. 1B. 2C. 3D. 410.设某散列表的长度为100,散列函数H(k)=k % P,则P通常情况下最好选择()。
A. 99B. 97C. 91D. 9311.在二叉排序树中插入一个关键字值的平均时间复杂度为()。
A. O(n)B. O(1og2n) C. O(nlog2n) D. O(n2)12.设一个顺序有序表A[1:14]中有14个元素,则采用二分法查找元素A[4]的过程中比较元素的顺序为( )。
A. A[1],A[2],A[3],A[4]B.A[1],A[14],A[7],A[4]C.A[7],A[3],A[5],A[4]D. A[7],A[5] ,A[3],A[4]13.设散列表中有m个存储单元,散列函数H(key)= key % p,则p最好选择()。
A. 小于等于m的最大奇数B.小于等于m的最大素数C. 小于等于m的最大偶数D. 小于等于m的最大合数14.设顺序表的长度为n,则顺序查找的平均比较次数为()。
A. nB. n/2C. (n+1)/2D. (n-1)/215.设有序表中的元素为(13,18,24,35,47,50,62),则在其中利用二分法查找值为24的元素需要经过()次比较。
A. 1B. 2C. 3D. 417.设有一组初始记录关键字序列为(34,76,45,18,26,54,92),则由这组记录关键字生成的二叉排序树的深度为()。
A. 4B. 5C. 6D. 718.二叉排序树中左子树上所有结点的值均()根结点的值。
A. <B. >C. =D. !=26.对一棵二叉排序树采用中根遍历进行输出的数据一定是()A.递增或递减序列B.递减序列C.无序序列D.递增序列27.一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找值为82的结点时,查找成功时的比较次数为( )A.1B.2C.4D.828.若构造一棵具有n 个结点的二叉排序树,最坏的情况下其深度不超过( ) A. 2n B. n C. 21n D. n+1 30.在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中。
这种方式主要适合于( )A.静态查找表B.动态查找表C.静态查找表与动态查找表D.静态查找表或动态查找表31.设一组记录的关键字key 值为{62,50,14,28,19,35,47,56,83},散列函数为H(key)=key mod 13,则它的开散列表中散列地址为1的链中的结点个数是( )A .1 B.2 C .3 D.432.已知一个有序表为(13,18,24,35,47,50,62,83,90,115,134),当二分检索值为90的元素时,检索成功需比较的次数是( )A.1B.2C.3D.436.设有100个元素,用二分法查找时,最大比较次数是( )。
A .25B .7C .10D .137.设有1000个元素,用二分法查找时,最小比较次数为( )A .0B .1C .10D .50040.在一个有N 个元素的有序单链表中查找具有给定关键字的结点,平均情况下的时间复杂性为( B )A.O(1)B.O(N)C.0(N 2)D.O(NlogN)41.对线性表进行二分查找时,要求线性表必须( )A.以顺序方式存储B.以顺序方式存储,且数据元素有序C.以链接方式存储D.以链接方式存储,且数据元素有序42.下列二叉排序树中查找效率最高的是( )A.平衡二叉树B.二叉查找树C.没有左子树的二叉排序树D.没有右子树的二叉排序树44.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( )A.(100,80,90,60,120,110,130)B.(100,120,110,130,80,60,90)C.(100,60,80,90, 20,110,130)D.(100,80,60,90,120,130,110)50.设哈希表长M=14,哈希函数H(KEY)=KEY MOD 11。
表中已有4个结点:ADDR(15)=4, ADDR(38)=5,ADDR(61)=6,ADDR(84)=7,其余地址为空,如用二次探测再散列处理冲突,关键字为49的结点的地址是( )。
A. 8B. 3C. 5D. 952.将10个元素散列到100000个单元的哈希表中,则( )产生冲突。
A. 一定会B. 一定不会C. 仍可能会55.二叉查找树的查找效率与二叉树的树型有关, 在 ( )时其查找效率最低。
A. 结点太多B. 完全二叉树C. 呈单枝树D. 结点太复杂。
64. 对于长度为 18 的顺序存储的有序表,若采用二分查找,则查找第 15 个元素的查找长度为 ( ) 。
A. 3B. 4C. 5D. 6二、填空题7.根据初始关键字序列(19,22,01,38,10)建立的二叉排序树的高度为____________。
12.设二叉排序树的高度为h,则在该树中查找关键字key最多需要比较_________次。
13.设散列表的长度为8,散列函数H(k)=k % 7,用线性探测法解决冲突,则根据一组初始关键字序列(8,15,16,22,30,32)构造出的散列表的平均查找长度是________。
16.解决散列表冲突的两种方法是________________和__________________。
18.从一棵二叉搜索树中查找一个元素时,若元素的值等于根结点的值,则表明_______,若元素的值小于根结点的值,则继续向________查找,若元素的大于根结点的值,则继续向________查找。
20.二叉搜索树的中序遍历得到的结点序列为____ ____。
27.在一棵二叉排序树上按____________遍历得到的结点序列是一个有序序列。
28.实现二分查找的存储结构仅限于顺序存储结构,且其中元素排列必须是____的。
31.一棵平衡二叉树中任一结点的平衡因子只可能是__________。
32.二分查找的时间复杂度为_________。
41.在线性表的________存储中,对每一个元素只能采用顺序查找。
48.对于二分查找所对应的判定树,它既是一棵_______,又是一棵________。
64. 平衡二叉树又称_________,其定义是________。
69. 在含有n个结点的二叉排序树中查找一个关键字,进行关键字比较次数最大值是。
72. 动态查找表和静态查找表的重要区别在于前者包含有__________和__________运算,而后者不包含这两种运算。
83.在一棵二叉排序树中,每个分支结点的左子树上所有结点的值一定________ 该结点的值,右子树上所有结点的值一定________ 该结点的值。
86.向一棵二叉排序树中插入一个元素时,若元素的值小于根结点的值,则接着向根结点的________ 插入,若元素的值大于根结点的值,则接着向根结点的________ 插入。
89.在一棵平衡二叉排序树中,每个结点的左子树高度与右子树高度之差的绝对值不超过________ 。
四、简答题6.对长度为20的有序表进行二分查找,试画出它的一棵判定树8.一个线性表为B=(12,23,45,57,20,03,78,31,15,36),设散列表为HT[0..12],散列函数为H(key)= key % 13并用线性探查法解决冲突,请画出散列表,并计算等概率情况下查找成功的平均查找长度。
21.一棵二叉排序树结构如下,各结点的值从小到大依次为1-9,请标出各结点的值。
22. 在查找和排序算法中,监视哨的作用是什么?23. 输入一个正整数序列(53,17,12,66,58,70,87,25,56,60),试完成下列各题。
(1)按次序构造一棵二叉排序树BS。
(2) 依此二叉排序树,如何得到一个从大到小的有序序列?(2)画出在此二叉排序树中删除“66”后的树结构。
五、应用题3.已知待散列的线性表为(36,15,40,63,22),散列用的一维地址空间为[0..6],假定选用的散列函数是H(K)= K mod 7,若发生冲突采用线性探查法处理,试:(1)计算出每一个元素的散列地址并在下图中填写出散列表:(211.依次输入表{ 30, 15, 28, 20, 24, 10, 12, 68, 35, 50, 46, 55 }中的元素,生成一棵二叉搜索树。
①试画出生成之后的二叉搜索树;②对该二叉搜索树进行中序遍历,试写出遍历序列。
③假定每个元素的查找概率相等,试计算该二叉搜索树的平均查找长度。
18.假定一个待散列存储的线性表为(32,75,29,63,48,94,25,46,18,70),散列地址空间为HT[13],若采用除留余数法构造散列函数和线性探查法处理冲突,试求出每一元素的散列地址,画出最后得到的散列表,求出平均查找长度。
19.假定一个待散列存储的线性表为(32,75,29,63,48,94,25,46,18,70),散列地址空间为HT[11],若采用除留余数法构造散列函数和链接法处理冲突,试求出每一元素的散列地址,画出最后得到的散列表,求出平均查找长度。
六、程序填空题(或算法阅读题)1.二叉搜索树的查找——递归算法:bool Find(BTreeNode* BST,ElemType& item){if (BST==NULL)return false; //查找失败else {if (item==BST->data){item=BST->data;//查找成功return ___________;}else if(item<BST->data)return Find(______________,item);else return Find(_______________,item);}//if}七、算法设计题1. 设有一组初始记录关键字序列(K1,K2,…,Kn),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于K i ,右半部分的每个关键字均大于等于Ki。