《查找技术习题》PPT课件.ppt

上传人:san****019 文档编号:20987156 上传时间:2021-04-21 格式:PPT 页数:18 大小:517.60KB
返回 下载 相关 举报
《查找技术习题》PPT课件.ppt_第1页
第1页 / 共18页
《查找技术习题》PPT课件.ppt_第2页
第2页 / 共18页
《查找技术习题》PPT课件.ppt_第3页
第3页 / 共18页
点击查看更多>>
资源描述
第7章 查找技术习题课 填空1、在数据的存放无规律而言的线性表中进行检索的最佳方法是 。 顺序查找(线性查找)2、线性有序表(a1,a2,a3,a256)是从小到大排列的,对一个给定的值k,用二分法检索表中与k相等的元素,在查找不成功的情况下,最多需要检索 次。设有100个结点,用二分法查找时,最大比较次数是 。 8 7 填空3、假设在有序线性表a20上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为 ;比较四次查找成功的结点数为 ;平均查找长度为 。 2 8显然,平均查找长度O(log2n)5次(25)。但具体是多少次,则不应当按照公式)1(log1 2 nnnASL来计算(即(21log221)/204.6次并不正确!)。因为这是在假设n2m-1的情况下推导出来的公式。应当用穷举法罗列:全部元素的查找次数为(122438455)74; ASL74/20=3.7 !3.7 填空4、折半查找有序表(4,6,12,20,28,38,50,70,88,100),若查找表中元素20,它将依次与表中元素 比较大小。28,6,12,205、在各种查找方法中,平均查找长度与结点个数n无关的查找方法是 。散列查找6、散列法存储的基本思想是由 决定数据的存储地址。关键字的值 填空7、有一个表长为m的散列表,初始状态为空,现将n(nm)个不同的关键码插入到散列表中,解决冲突的方法是用线性探测法。如果这n个关键码的散列地址都相同,则探测的总次数是 。 n(n-1)/2=( 12n-1) 选择1、在表长为的链表中进行线性查找,它的平均查找长度为 。A)ASL=n B)ASL=(n+1)/2C)ASL= +1 D)ASLlog2(n+1)-1nB2、折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中元素58,则它将依次与表中 比较大小,查找结果是失败。A)20,70,30,50 B)30,88,70,50C)20,50 D)30,88,50A 选择3、对22个记录的有序表作折半查找,当查找失败时,至少需要比较 次关键字。A)3 B)4 C)5 D)6C4、链表适用于 查找。A)顺序B)二分法C)顺序,也能二分法D)随机 A5、折半搜索与二叉搜索树的时间性能 。A)相同B)完全不同C)有时不相同D)数量级都是O(log 2n)C 简答1、对分(折半)查找适不适合链表结构的序列,为什么?用二分查找的查找速度必然比线性查找的速度快,这种说法对吗?不适合!虽然有序的单链表的结点是按从小到大(或从大到小)顺序排列,但因其存储结构为单链表,查找结点时只能从头指针开始逐步搜索,故不能进行折半查找。二分查找的速度在一般情况下是快些,但在特殊情况下未必快。例如所查数据位于首位时,则线性查找快;而二分查找则慢得多。 简答2、假定对有序表:(3,4,5,7,24,30,42,54,63,72,87,95)进行折半查找,试回答下列问题:1)画出描述折半查找过程的判定树;2)若查找元素54,需依次与哪些元素比较?3)若查找元素90,需依次与哪些元素比较?4)假定每个元素的查找概率相等,求查找成功时的平均查找长度。 1)先画出判定树如下(注:mid=(1+12)/2=6):(判定树略)2)查找元素54,需依次与30, 63, 42, 54 等元素比较;3)查找元素90,需依次与87, 95,7等元素比较;4)求ASL之前,需要统计每个元素的查找次数。判定树的前3层共查找12243=17次;但最后一层未满,不能用84,只能用54=20次,所以ASL1/12(1720)37/123.08 简答3、用比较两个元素大小的方法在一个给定的序列中查找某个元素的时间复杂度下限是什么? 如果要求时间复杂度更小,你采用什么方法?此方法的时间复杂度是多少? 查找某个元素的时间复杂度下限,如果理解为最短查找时间,则当关键字值与表头元素相同时,比较1次即可。要想降低时间复杂度,可以改用Hash查找法。此方法对表内每个元素的比较次数都是O(1)。 简答4、设哈希(Hash)表的地址范围为017,哈希函数为:H(K)K MOD 16。K为关键字,用线性探测法再散列法处理冲突,输入关键字序列:(10,24,32,17,31,30,46,47,40,63,49)造出Hash表,并回答下列问题:1)画出哈希表的示意图;2)若查找关键字63,需要依次与哪些关键字进行比较?3)若查找关键字60,需要依次与哪些关键字比较?4)假定每个关键字的查找概率相等,求查找成功时的平均查找长度。 (1)画表如下: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1732 17 63 49 24 40 10 30 31 46 47(2)查找63,首先要与H(63)=63%16=15号单元内容比较,即63 vs 31 ,no;然后顺移,与46,47,32,17,63相比,一共比较了6次!(3)查找60,首先要与H(60)=60%16=12号单元内容比较,但因为12号单元为空(应当有空标记),所以应当只比较这一次即可。(4)对于黑色数据元素,各比较1次;共6次;对红色元素则各不相同,要统计移位的位数。“63”需要6次,“49”需要3次,“40”需要2次,“46”需要3次,“47”需要3次, 所以ASL=(6+6233)/1123/11=2.09090909092.09 分析1、画出对长度为10的有序表进行折半查找的判定树,并求其等概率时查找成功的平均查找长度。判定树(略) ASL1/10(1223443) 1/10(141212) 29/10=2.9 分析2、在一棵空的二叉查找树中依次插入关键字序列为12,7,17,11,16,2,13,9,21,4,请画出所得到的二叉查找树。或称二叉分类数(略)验算方法:用中序遍历应得到排序结果:2,4,7,9,11,12,13,16,17,21 分析3、已知如下所示长度为12的表:(Jan, Feb, Mar, Apr, May, June, July, Aug, Sep, Oct, Nov, Dec)1)试按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成之后的二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。2)若对表中元素先进行排序构成有序表,求在等概率的情况下对此有序表进行折半查找时查找成功的平均查找长度。3)按表中元素顺序构造一棵平衡二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。 分析4、已知一个含有1000个记录的表,关键字为中国人姓氏的拼音,请给出此表的一个哈希表设计方案,要求它在等概率情况下查找成功的平均查找长度不超过3。设计哈希表的步骤为:1)根据所选择的处理冲突的方法求出装载因子a的上界;2)由a值设计哈希表的长度m;3)根据关键字的特性和表长m选定合适的哈希函数。注:要求ASL3,则m必然要尽量长,以减少冲突。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!