第7章+查找技术习题解析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

查找技术-----习题解析课后习题讲解11.填空题⑴顺序查找技术适合于存储结构为(顺序存储和链接存储)的线性表,而折半查找技术适用于存储结构为(顺序存储)的线性表,并且表中的元素必须是(按关键码有序)。⑵设有一个已按各元素值排好序的线性表,长度为125,用折半查找与给定值相等的元素,若查找成功,则至少需要比较(1)次,至多需比较(7)次。⑷长度为20的有序表采用折半查找,共有(4)个元素的查找长度为3。⑸假定一个数列{25,43,62,31,48,56},采用的散列函数为H(k)=kmod7,则元素48的同义词是(62)。⑹在散列技术中,处理冲突的两种主要方法是(开放定址法)和(拉链法)。⑺在各种查找方法中,平均查找长度与结点个数无关的查找方法是(散列查找)。⑻与其他方法相比,散列查找法的特点是(通过关键码计算记录的存储地址,并进行一定的比较)。2.选择题⑴静态查找与动态查找的根本区别在于()。A、它们的逻辑结构不一样B、施加在其上的操作不同C、所包含的数据元素的类型不一样D、存储实现不一样⑵有一个按元素值排好序的顺序表(长度大于2),分别用顺序查找和折半查找与给定值相等的元素,比较次数分别是s和b,在查找成功的情况下,s和b的关系是();在查找不成功的情况下,s和b的关系是()。A、s=bB、sbC、sbD、不确定⑶长度为12的有序表采用顺序存储结构,采用折半查找技术,在等概率情况下,查找成功时的平均查找长度是(A),查找失败时的平均查找长度是(B)。A、37/12B、62/13C、39/12D、49/13⑹散列技术中的冲突指的是()。A、两个元素具有相同的序号B、两个元素的键值不同,而其他属性相同C、数据元素过多D、不同键值的元素对应于相同的存储地址⑺设散列表表长m=14,散列函数H(k)=kmod11。表中已有15、38、61、84四个元素,如果用线性探侧法处理冲突,则元素49的存储地址是()。A、8B、3C、5D、9⑻在采用线性探测法处理冲突所构成的闭散列表上进行查找,可能要探测多个位置,在查找成功的情况下,所探测的这些位置的键值()。A、一定都是同义词B、一定都不是同义词C、不一定都是同义词D、都相同应用题:8.已知散列函数H(k)=kmod12,键值序列为(25,37,52,43,84,99,120,15,26,11,70,82),采用拉链法处理冲突,试构造开散列表,并计算查找成功的平均查找长度。【解答】H(25)=1,H(37)=1,H(52)=4,H(43)=7,H(84)=0,H(99)=3,H(120)=0,H(15)=3,H(26)=2,H(11)=11,H(70)=10,H(82)=10构造的开散列表如下:平均查找长度ASL=(8×1+4×2)/12=16/12算法设计:⑴设计顺序查找算法,将哨兵设在下标高端。【解答】将哨兵设置在下标高端,表示从数组的低端开始查找,在查找不成功的情况下,算法自动在哨兵处终止。具体算法如下:查找技术-----习题解析课后习题讲解2一、选择题1、静态查找表与动态查找表二者的根本差别在于C。A、它们的逻辑结构不一样B、施加在其上的操作不同C、所包含的数据元素的类型不一样D、存储实现不一样2、下面的查找方式中,可以对无序表进行查找的是A。A、顺序查找B、二分查找C、二叉排序树D、B-树上的查找3、长度为12的按关键字有序的查找表采用顺序组织方式。若采用二分查找方法,则在等概率情况下,查找失败时的ASL值是B。A、37/12B、62/13C、39/12D.、49/134、二分查找算法要求被查找的表是C。A、键值有序的链表B、键值不一定有序的链表C、键值有序的顺序表D、键值不一定有序的顺序表5、堆(Heap)是B。A、完全二叉树B、线性表C、二叉排序树D、平衡二叉树6、在下面的排序方法中,不需要通过比较关键字就能进行排序的是A。A、堆排序B、快速排序C、插入排序D、希尔排序7、从具有n个结点的单链表中查找值等于x的结点时,在查找成功的情况下,平均需比较D个结点A、nB、n/2C、(n-1)/2D、(n+1)/28、设散列函数为H(k)=kmod7,一组关键码为23,14,9,6,30,12和18,散列表T的地址空间为0.6,用线性探测法解决冲突,依次将这组关键码插入T中,得到的散列表为B。A、0123456146239183012B、0123456141823930126C、0123456141292330186D、01234566233014181299、散列表的目的是C。A、插入B、删除C、快速查找D、排序10、在Hash函数H(k)=kMODm中,一般来讲,m应取C。A、奇数B、偶数C、素数D、充分大的数11、如果我们采用二分查找法查找一个长度为n的有序表,则查找每个元素的平均比较次数B对应的判定树的高度(假设树高h≥2).A、大于B、小于C、等于D、无法确定12、下面四种排序方法中,平均查找长度最小的是C。A、插入排序B、选择排序C、快速排序D、归并排序13、设有一个线性探测法解决冲突得到的散列表:T:0123456789101325801617614散列函数为H(K)=kmod11若要查找元素14,探测的次数(比较的次数)是D。A、8B、9C、3D、614、已知一采用开放地址解决Hash表冲突,要从此Hash表中删除一个记录,正确的做法是B。A、将该元素所在的存储单元清空B、将该元素用一个特殊的元素替代C、将与该元素有相同Hash地址的后继元素顺次前移一个位置D、用与该元素有相同Hash地址的最后插入表中的元素替代15、用二分查找法对具有n个结点的线性表查找一个结点所需的平均比较次数为D。A、O(n)B、O(nlogn)C、O(n)D、O(logn)16、与其它查找方法相比,哈希查找法的特点是C。A、通过关键字比较进行查找B、通过关键字计算记录存储地址进行查找C、通过关键字计算记录存储地址,并进行一定的比较进行查找17、顺序查找法适用于存储结构为C的线性表。A、散列存储B、压缩存储C、顺序存储或链接存储D、索引存储18、对采用二分查找法进行查找运算的查找表,要求按C方式进行存储。A、顺序存储B、链式存储C、顺序存储且结点按关键字有序D、链式存储且结点按关键字有序19、长度为12的有序表:Apr,Aug,Dec,Feb,Jan,Jul,Jun,Mar,May,Nov,Oct,Sep,按折半查找法对该表进行查找。在表内各元素等概率情况下查找成功所需的平均比较次数为B。A、35/12B、37/12C、39/12D、43/12二、填空题1、查找表中主关键字指的是能唯一标识数据元素的数据项,次关键字指的是不能唯一标识数据元素的数据项。2、以下算法假定以线性探测法解决冲突,在闭散列表HL中查找键值为K的结点,成功时回送该位置,不成功时回送标志-1.请分析程序,并在上填充合适的语句。intsearch_closehash(keytypeK,closehashHL){d=H(k);i=d;while(HL[i].key!=K&&(i!=d-1)i=(i+1)/m;if(HL[i].key==K)return(i);elsereturn(-1);}3、在散列技术中,处理冲突的方法有:开放定址法和拉链法。4、查找表按其所包括的运算的不同分为静态查找表和动态查找表5、设有两个散列函数H1(k)=kmod13和HZ(k)mod11+1,散列表为T[0…12],用双重散列解决冲突。函数H1用来计算散列地址,当发生冲突是,H2作为计算下一个探测地址的地址增量,假定在某一时该表T的状态为T:0123456789101112808534下一个被插入的关键码是42,其插入的位置是:位置为0。6、在分块查找法中,首先查找索引表,然后再查找相应的块。三、应用题:对于如下一个有序的关键字序列{5,9,12,18,23,31,37,46,59,66,71,78,85},现在要求用二分法进行查找值为18的关键字,则经过几次比较之后能查找成功?根据二分查找的过程,我们可以得到如下的比较结果:第一次比较:〔5,9,12,18,23,31,37,46,59,66,71,78,85〕↑第二次比较:〔5,9,12,18,23,31〕,37,46,59,66,71,78,85↑第三次比较:5,9,12,〔18,23,31〕,37,46,59,66,71,78,85↑第四次比较:5,9,12,〔18〕,23,31,37,46,59,66,71,78,85↑

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功