《数据结构与算法》第九章-查找.docx
《《数据结构与算法》第九章-查找.docx》由会员分享,可在线阅读,更多相关《《数据结构与算法》第九章-查找.docx(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构与算法第九章 查找答案第二部分考研真题精选一、选择题.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一 个记录,其平均查找长度ASL为()oA. (n-l)/2 B. n/2 C. (n+l)/2 D. n.对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为()A. (N+l) /2B.N/2 C.N D. (1+N) *N /2.顺序查找法适用于查找顺序存储或链式存储的线性表,平均比较次数为(1),二分法查 找只适用于查找顺序存储的有序表,平均比较次数为(2)。在此假定N为线性表中结点数,且每次查找都是成功的。D.N/2 E.Nlog
2、2N F.N2A.N+1 B.21og2N C.logN.下面关于二分查找的叙述正确的是(C.表必须有序,而且只A.表必须有序,表可以顺序方式存储,也可以链表方式存储能从小到大排列实型或字符型D.表必须有序,且表只B.表必须有序且表中数据必须是整型,能以顺序方式存储1 .对线性表进行二分查找时,要求线性表必须()A.以顺序方式存储B.以顺序方式存储,且数据元素有序C.以链接方式存储D.以链接方 式存储,且数据元素有序.适用于折半查找的表的存储方式及元素排列要求为()A.链接方式存储,元素无序 B.链接方式存储,元素有序C.顺序方式存储,元素无序D.顺序方式存储,元素有序.用二分(对半)查找表的
3、元素的速度比用顺序法()A. 必然快 B.必然慢 C.相等 D.不能确定.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度()A.必定快B.不一定C.在大部分情况下要快D.取决于表递增还是递减.具有12个关键字的有序表,折半查找的平均查找长度()A. 3.1B.4C. 2.5D.5.折半查找的时间复杂性为()A.O (n2) B.O (n) C. O (nlogn) D. O (logn).当采用分快查找时,数据的组织方式为()A.数据分成若干块,每块内数据有序B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小) 的数据组
4、成索引块C.数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D.数据分成若干块,每块(除最后一块外)中数据个数需相同.二叉查找树的查找效率与二叉树的(1)有关,在(2)时其查找效率最低(1):A.高度B.结点的多少C.树型D.结点的位置(2):A.结点太多B.完全二叉树C.呈单枝树D.结点太复杂。2 .要进行顺序查找,则线性表(1);要进行折半查询,则线性表(2);若表中元素个数为.已知二叉树排序树中某结点指针p,其双亲结点指针为fp,p为fp的左孩子,试编写算法, 删除p所指结点。4 .二叉排序树采用二叉链表存储。写一个算法,删除结点值是X的结点。要求删除该结点 后,此树
5、仍然是一棵二叉排序树,并且高度没有增长(注:可不考虑被删除的结点是根的情 况)。5 .设记录R1,R2,Rn按关键字值从小到大顺序存储在数组rL.n中,在rn+l处设立一个 监督哨,其关键字值为+8;试写一查找给定关键字k的算法;并画出此查找过程的判定树, 求出在等概率情况下查找成功时的平均查找长度。6 .元素集合已存入整型数组ALn中,试写出依次取A中各值Ai(I=irear34. (l)p!=null (2)pf=p (3)p!=*t (4)*t二null四.应用题1 .概念是基本知识的主要部分,要牢固掌握。这里只列出一部分,目的是引起重视,解答 略。2 . (1)散列表存储的基本思想是用
6、关键字的值决定数据元素的存储地址(2)散列表存储中解决碰撞的基本方法: 开放定址法形成地址序列的公式是:Hi= (H (key) +&) %m,其中m是表长,&是增量。根据&取法不同,又分为三种:a. di = l, 2,,m-1称为线性探测再散列,其特点是逐个探测表空间,只要散列表中 有空闲空间,就可解决碰撞,缺点是容易造成“聚集”,即不是同义词的关键字争夺同一散 列地址。b. di=l2, -I2, 22,-22,,k2 (km/2)称为二次探测再散列,它减少了聚集,但 不容易探测到全部表空间,只有当表长为形如4j+3 (j为整数)的素数时才有可能。c. 4 =伪随机数序列,称为随机探测再
7、散列。再散列法 Hi=RHi (key) i=l, 2,,k,是不同的散列函数,即在同义词产生 碰撞时,用另一散列函数计算散列地址,直到解决碰撞。该方法不易产生“聚集”,但增加 了计算时间。 链地址法 将关键字为同义词的记录存储在同一链表中,散列表地址区间用 表示,分量初始值为空指针。凡散列地址为i (OWiWm-1)的记录均插在以Hi为 头指针的链表中。这种解决方法中数据元素个数不受表长限制,插入和删除操作方便,但增 加了指针的空间开销。这种散列表常称为开散列表,而中的散列表称闭散列表,含义是元 素个数受表长限制。 建立公共溢出区 设为基本表,凡关键字为同义词的记录,都填入溢出 区O0.m-
8、lo(3)用分离的同义词表和结合的同义词表解决碰撞均属于链地址法。链地址向量空间中的 每个元素不是简单的地址,而是关键字和指针两个域,散列地址为i (OWiWm-1)的第一个 关键字存储在地址空间向量第i个分量的“关键字”域。前者的指针域是动态指针,指向同 义词的链表,具有上面的优缺点;后者实际是静态链表,同义词存在同一地址向量空间(从 最后向前找空闲单元),以指针相连。节省了空间,但易产生“堆积”,查找效率低。(4)要在被删除结点的散列地址处作标记,不能物理的删除。否则,中断了查找通路。(5)记录负载因子.评价哈希函数优劣的因素有:能否将关键字均匀影射到哈希空间上,有无好的解决冲突 的方法,
9、计算哈希函数是否简单高效。由于哈希函数是压缩映像,冲突难以避免。解决冲突 的方法见上面2题。3 .哈希方法的平均查找路长主要取决于负载因子(表中实有元素数与表长之比),它反映了 哈希表的装满程度,该值一般取0.650.9。解决冲突方法见上面2题。4 .不一定相邻。哈希地址为i (OWiWm-1)的关键字,和为解决冲突形成的探测序列i的同 义词,都争夺哈希地址i。散列地址0123456789关键字140192384275520比较次数11123412平均查找长度:ASLsucc= (1 + 1+1+2+3+4+1+2) /8=15/8以关键字27为例:H (27) =27%7=6 (冲突) H尸
10、(6+1) % 10=7 (冲突)H2= (6+22) %io=o (冲突)H3= (6+33) % 10=5所以比较了 4 次。7.由于装填因子为0.8,关键字有8个,所以表长为8/0.8=10。(1)用除留余数法,哈希函数为H (key) =key%7(2)散列地址0123456789关键字2115303625402637比较次数11131126(3)计算查找失败时的平均查找长度,必须计算不在表中的关键字,当其哈希地址为i(0WiWm-1)时的查找次数。本例中m=10。故查找失败时的平均查找长度为:ASLUnsucc= (9+8+7+6+5+4+3+2+1 + 1) /10=4.6ASLS
11、Ucc =16/8=2(4) int Delete (int hn, int k)从哈希表hn中删除元素k,若删除成功返回1,否则返回。i=k%7; / 哈希函数用上面(1),即 H (key) =key % 7if (hi= maxint) /maxint 解释成空地址printf (无关键字dn,k); return (0); )if (hi=k) hi=-maxint ; return (1); 被删元素换成最大机器数的负数else /采用线性探测再散列解决冲突廿i;for (d=l; dWn-1; d+)11为表长,此处为1011为表长,此处为10i= (j+d) %n;if (hi=
12、 maxint) return (0); /maxint 解释成空地址if (hi=k) hi=-maxint ; return (1 ); /forprintf (无关键字dn, k); return (0)哈希表 a: ASLsucc=24/8=3;散列地址0123456789关键字1524101917381840比较次数11214555散列地址0123456789关键字1517241019403818比较次数13121244哈希表 b: ASLsucc=18/8(4) ASLunsucc =29/139.常用构造哈希函数的方法有:(1)数字分析法 该法事先需知道关键字集合,且关键字位数比
13、散列表地址位数多,应选 数字分布均匀的位。(2)平方取中法 将关键字值的平方取中间几位作哈希地址。(3)除留余数法 H (key) =key%p,通常p取小于等于表长的最大素数。(4)折叠法 将关键字分成长度相等(最后一段可不等)的几部分,进行移位叠加或间界 叠加,其值作哈希地址。(5)基数转换法 两基数要互素,且后一基数要大于前一基数。在哈希表中删除一个记录,在拉链法情况下可以物理地删除。在开放定址法下,不能物理 地删除,只能作删除标记。该地址可能是该记录的同义词查找路径上的地址,物理的删除 就中断了查找路径。因为查找时碰到空地址就认为是查找失败。散列地址012345678910111213
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构与算法 数据结构 算法 第九 查找
限制150内