数据结构查找习题及答案
数据结构第九章--查找-习题及答案
第九章查找一、选择题1•若查找每个记录的概率均等,则在具有n 个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL 为()。
A .(n-1)/2B.n/2C.(n+1)/2D.n 2. 下面关于二分查找的叙述正确的是()A. 表必须有序,表可以顺序方式存储,也可以链表方式存储C.表必须有序,而且只能从小到大排列B. 表必须有序且表中数据必须是整型,实型或字符型D.表必须有序,且表只 能以顺序方式存储3. 用二分(对半)查找表的元素的速度比用顺序法() A. 必然快B.必然慢C.相等D.不能确定4. 具有12个关键字的有序表,折半查找的平均查找长度()A.3.1B.4C.2.5D.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.(100,80,60,90,120,130,110)10. 在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并已知A 的左孩子的平衡因子为0右孩子的平衡因子为1,则应作()型调整以使其平衡。
数据结构(习题三)
从上图可以看出,查找失败的最少比较次数为 3,最多比较次数为 4 次,故而选择 B答案。要特别注意,有的书把失败的比较也算作一次 比较,这里我们不算一次比较。
第五部分
查找
考点四 二叉排序树
本考点主要考查:
二叉排序树的概念和构造方法
第五部分
查找
考点四 二叉排序树
1. 若构造一棵具有 n 个结点的二叉排序树,最坏的情况下其深度不超 过 ( B ) A. n/2 B. n C. (n+1)/2 D. n+1 【解析】 最坏的情况下, 二叉排序树为单支树, 比如构造一棵 {1,2,3,4,5,…,n}的二叉树,则得到的二叉排序树如下图所示。
D. ③
【解析】对于 m 阶 B 树,除了根结点至少要有两棵子树之外,其他非 叶子结点至少有⌈m/2⌉棵子树,故而①错误。树中,每个结点至多有 m-1 个关键字,而且所有叶子都在同一层上,故而②③显然正确。但 是,插入一个关键字使得 B 树结点分裂,并不一定会引起树长高一层 ,如第 2 题中插入结点 70, B-树的前后高度都是 2,故而④错误。
第五部分
查找
考点七 哈希表
1. 以下说法错误的是 ( B ) A. 散列法存储的思想是由关键字值决定数据的存储地址 B. 散列表的结点中只包含数据元素自身的信息,不包含指针。 C. 负载因子是散列表的一个重要参数,它反映了散列表的饱满程度。 D. 散列表的查找效率主要取决于散列表构造时选取的散列函数和处理 冲突的方法。
数据结构
习 题 三
第五部分
查找
考点一 查找的基本概念
本部分考查查找的基本概念。
第五部分
查找
考点一 查找的基本概念
1. 要进行线性查找,则线性表 (1) D ;要进行二分查找,则线性表 (2) E ;要进行散列查找,则线性表 (3) C 。某顺序存储的表格,其 中有 90000 个元素,已按关键项的值的上升顺序排列。现假定对各个 元素进行查找的概率是相同的,并且各个元素的关键项的值皆不相同 。当用顺序查找法查找时,平均比较次数约为 (4) C ,最大比较次数 为 (5) D 。
数据结构习题及答案 (1)
第八章查找一、判断题1.用二分查找法对一个顺序表进行查找,这个顺序表可以是按各键值排好序的,也可以是没有按键值排好序的。
()2.哈希表的查找不用进行关键字的比较。
()3.哈希表的定义函数H(key)=key%p(p<=m)这种方法是直接定址法。
()4.装填因子α的值越大,就越不容易发生冲突。
( )5.选择hash函数的标准为:随机性好、均匀性好和尽量避免冲突。
( )参考答案:1、×2、×3、×4、×5、√二、填空题1.顺序查找法的平均查找长度为__________,二分查找法的平均查找长度为________,分块查找法(以顺序查找确定块)的平均查找长度为__________,分块查找法(以二分查找确定块〉的平均查找长度为_________,哈希表查找法采用链接法处理冲突时的平均查找长度为_________。
(n+1)/2;((n+1)*log2(n+1))/n-1;(s2+2s+n)/2s;log2(n/s+1)+s/2;1+α2.在各种查找方法中,平均查找长度与结点个数n无关的查法方法是_________哈希表查找3.二分查找的存储结构仅限于_________,且是__________。
顺序;有序的4.在分块查找方法中,首先查找__________,然后再查找相应的___________。
索引;块5.长度为255的表,采用分块查找法,每块的最佳长度是____________。
156.在散列函数H(key)=key%p中,p应取_______________。
小于表长的最大素数7.假设在有序线性表A[1..20]上进行二分查找,则比较一次查找成功的结点数为_________,则比较二次查找成功的结点数为__________,则比较三次查找成功的结点数为_________,则比较四次查找成功的结点数为________,则比较五次查找成功的结点数为_________,平均查找长度为_________。
数据结构练习题(含答案)(DOC)
数据结构练习题习题1 绪论单项选择题1. 数据结构是一门研究非数值计算的程序设计问题中,数据元素的①、数据信息在计算机中的②以及一组相关的运算等的课程。
①A.操作对象B.计算方法C.逻辑结构D.数据映象②A.存储结构B.关系C.运算D.算法2. 数据结构DS(Data Struct)可以被形式地定义为DS=(D,R),其中D是①的有限集合,R是D上的②有限集合。
①A.算法B.数据元素C.数据操作D.数据对象②A.操作B.映象C.存储D.关系3. 在数据结构中,从逻辑上可以把数据结构分成。
)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4. 算法分析的目的是①,算法分析的两个主要方面是②。
① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性② A. 空间复杂性和时间复杂性 B. 正确性和简明性C. 可读性和文档性D. 数据复杂性和程序复杂性5. 计算机算法指的是①,它必具备输入、输出和②等五个特性。
① A. 计算方法 B. 排序方法C. 解决问题的有限运算序列D. 调度方法!② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性D. 易读性、稳定性和安全性填空题(将正确的答案填在相应的空中)1. 数据逻辑结构包括、和三种类型,树形结构和图形结构合称为。
2. 在线性结构中,第一个结点前驱结点,其余每个结点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。
3. 在树形结构中,树根结点没有结点,其余每个结点有且只有个直接前驱结点,叶子结点没有结点,其余每个结点的直接后续结点可以。
4. 在图形结构中,每个结点的前驱结点数和后续结点数可以。
5. 线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在关系。
《数据结构(C语言版 第2版)》(严蔚敏 著)第七章练习题答案
《数据结构(C语言版第2版)》(严蔚敏著)第七章练习题答案第7章查找1.选择题(1)对n个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为()。
A.(n-1)/2B.n/2C.(n+1)/2D.n答案:C解释:总查找次数N=1+2+3+…+n=n(n+1)/2,则平均查找长度为N/n=(n+1)/2。
(2)适用于折半查找的表的存储方式及元素排列要求为()。
A.链接方式存储,元素无序B.链接方式存储,元素有序C.顺序方式存储,元素无序D.顺序方式存储,元素有序答案:D解释:折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。
(3)如果要求一个线性表既能较快的查找,又能适应动态变化的要求,最好采用()查找法。
A.顺序查找B.折半查找C.分块查找D.哈希查找答案:C解释:分块查找的优点是:在表中插入和删除数据元素时,只要找到该元素对应的块,就可以在该块内进行插入和删除运算。
由于块内是无序的,故插入和删除比较容易,无需进行大量移动。
如果线性表既要快速查找又经常动态变化,则可采用分块查找。
(4)折半查找有序表(4,6,10,12,20,30,50,70,88,100)。
若查找表中元素58,则它将依次与表中()比较大小,查找结果是失败。
A.20,70,30,50B.30,88,70,50C.20,50D.30,88,50答案:A解释:表中共10个元素,第一次取⎣(1+10)/2⎦=5,与第五个元素20比较,58大于20,再取⎣(6+10)/2⎦=8,与第八个元素70比较,依次类推再与30、50比较,最终查找失败。
(5)对22个记录的有序表作折半查找,当查找失败时,至少需要比较()次关键字。
A.3B.4C.5D.6答案:B解释:22个记录的有序表,其折半查找的判定树深度为⎣log222⎦+1=5,且该判定树不是满二叉树,即查找失败时至多比较5次,至少比较4次。
(6)折半搜索与二叉排序树的时间性能()。
《数据结构》习题集:第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.数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的()和运算的学科。
A.结构B.关系 C.运算 D.算法2.在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.逻辑结构和存储结构3.线性表的逻辑顺序和存储顺序总是一致的,这种说法()。
A.正确B.不正确 C.无法确定 D.以上答案都不对4.算法分析的目的是()。
A.找出算法的合理性 B.研究算法的输人与输出关系C.分析算法的有效性以求改进 D.分析算法的易懂性5. 算法的时间复杂度取决于()A.问题的规模B待处理数据的初态 C. A和B6.一个算法应该是()。
A.程序B.问题求解步骤的描述C.要满足五个基本特性 D.A和C.7. 下面关于算法说法错误的是()A.算法最终必须由计算机程序实现B.为解决某问题的算法与为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的8.以下与数据的存储结构无关的术语是()。
A.循环队列 B. 链表 C. 哈希表 D. 栈9.在下面的程序段中,对x的赋值语句的频度为()for(i=0;i<n;i++)for(j=0;j<n;j++)x=x+1;nA. 2n B.n C.n2 D.log210.以下数据结构中,()是非线性数据结构A.树 B.字符串 C.队列 D.栈11. 下列数据中,()是线性数据结构。
A.哈夫曼树 B.有向无环图 C. 二叉排序树 D. 栈12.以下属于逻辑结构的是()。
A.顺序表 B. 哈希表 C.有序表 D. 单链表二、填空题1、_______是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,________是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。
数据结构练习题及部分答案
第一章绪论一.选择题1.数据结构被形式地定义为(K,R),其中K是①的有限集合,R是K上的②的有限集合。
①A.算法B.数据元素C.数据操作D.逻辑结构②A.操作B.映象C.存储D.关系2.算法分析的目的是①,算法分析的两个主要方面是②。
①A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性②A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性3.在计算机存储器内表示时,物理地址和逻辑地址相同并且是连续的,称之为A.逻辑结构B.顺序存储结构C.链表存储结构D.以上都不对4.数据结构中,在逻辑上可以把数据结构分成:( )。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构5.以下属于顺序存储结构优点的是()。
A.存储密度大B.插入运算方便C.删除运算方便D.可方便地用于各种逻辑结构的存储表示6.数据结构研究的内容是()。
A.数据的逻辑结构B.数据的存储结构C.建立在相应逻辑结构和存储结构上的算法D.包括以上三个方面7.链式存储的存储结构所占存储空间()。
A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B.只有一部分,存放结点值C.只有一部分,存储表示结点间关系的指针D.分两部分,一部分存放结点值,另一部分存放结点所占单元数8.计算机算法指的是(1),它具备输入,输出和(2)等五个特性。
(1)A. 计算方法 B.排序方法C. 解决问题的有限运算序列D.调度方法(2)A.可行性,可移植性和可扩充性 B.可行性,确定性和有穷性C.确定性,有穷性和稳定性D.易读性,稳定性和安全性9.以下关于数据的逻辑结构的叙述中正确的是()。
A.数据的逻辑结构是数据间关系的描述B.数据的逻辑结构反映了数据在计算机中的存储方式C.数据的逻辑结构分为顺序结构和链式结构D.数据的逻辑结构分为静态结构和动态结构10.算法分析的主要任务是()。
数据结构图,查找,内排序的练习及答案
数据结构图,查找,内排序的练习及答案数据结构课后练习习题要求:此次练习不要求上交,只是帮助⼤家掌握知识点,便于复习。
第⼋章图⼀.单项选择题(20分)1. 带权有向图G ⽤邻接矩阵A 存储,则Vi 的⼊度等于A 中___D______A. 第i ⾏⾮∞的元素只和B. 第i 列⾮∞的元素之和C. 第i ⾏⾮∞且⾮0的元素之和D. 第i 列⾮∞且⾮0的元素个数2. ⽆向图的邻接矩阵是⼀个___A____A. 对称矩阵B. 零矩阵C. 上三⾓阵D. 对⾓矩阵3. 在⼀个⽆向图中,所有顶点的度之和等于边数的__C____倍A. 1/2B. 1C. 2D. 44. ⼀个有n 个顶点的⽆向图最多有___C____条边。
A. nB. n(n-1)C. n(n-1)/2D.2n5. 对于⼀个具有n 个顶点的⽆向图,若采⽤邻接矩阵表⽰,则该矩阵⼤⼩是__D_____A. nB. 2)1(?nC. n-1D. 2n6. ⼀个有向图G 的邻接表存储如右图所⽰,现按深度优先搜索遍历,从V1出发,所得到的顶点序列是___B_____。
A. 1,2,3,4,5B. 1,2,3,5,4C. 1,2,4,5,3D. 1,2,5,3,47. 对右图所⽰的⽆向图,从顶点V1开始进⾏深度优先遍历,可得到顶点访问序列__A______(提⽰:可先画出邻居表图再遍历)A. 1 2 4 3 5 7 6B. 1 2 4 3 5 6 7C. 1 2 4 5 6 3 7D. 1 2 3 4 5 6 78. 如果从⽆向图的任⼀顶点出发进⾏⼀次深度优先搜索即可访问所有顶点,则该图⼀定是__B_____A. 完全图B. 连通图C.有回路D. ⼀棵树9. 任何⼀个⽆向连通图___B___最⼩⽣成树(提⽰:注意最⼩⽣成树的定义,此题易错)A. 只有⼀棵B. ⼀棵或多棵C. ⼀定有多棵D.可能不存在11. 若图的邻接矩阵中主对⾓线上的元素全是0,其余元素全是1,则可以断定该图⼀定是_D_____。
数据结构Ch习题答案
Ch9查找一、单项选择题1.顺序查找法适合于存储结构为B的线性表..A.散列存储 B.顺序存储或链接存储 C.压缩存储 D.索引存储2.对线性表进行二分查找时;要求线性表必须C..A.以顺序方式存储 B.以链接方式存储C.以顺序方式存储;且结点按关键字有序排序 D.以链接方式存储;且结点按关键字有序排序3.采用顺序查找方法查找长度为n的线性表时;每个元素的平均查找长度为C.. A.n B.n/2 C.n+1/2 D.n-1/24.采用二分查找方法查找长度为n的线性表时;每个元素的平均查找长度为D..A.On2 B. Onlog2n C.On D.Olog2n5.二分查找和二叉排序树的时间性能B..A.相同 B.不相同就平均时间性能而言;二叉排序树上的查找和二分查找差不多..就维护表的有序性而言;二叉排序树无须移动结点;只需修改指针即可完成插入和删除操作;且其平均的执行时间均为Olog2n;因此更有效..二分查找所涉及的有序表是一个向量;若有插入和删除结点的操作;则维护表的有序性所花的代价是On..当有序表是静态查找表时;宜用向量作为其存储结构;而采用二分查找实现其查找操作;若有序表里动态查找表;则应选择二叉排序树作为其存储结构..6.有一个有序表为{1;3;9;12;32;41;45;62;75;77;82;95;100};当二分查找值82为的结点时;C次比较后查找成功..A.1 B.2 C.4 D.87.有一个长度为12的有序表;按二分查找法对该表进行查找;在表内各元素等概率情况下查找成功所需的平均比较次数为B..A.35/12 B.37/12 C.39/12 D.43/128.根据一组记录 56; 42; 50; 64; 48 依次插入结点生成一棵AVL树高度平衡的二叉搜索树时;当插入到值为 50 的结点时需要进行旋转调整..9.向一棵二叉搜索树中插入一个新元素时;若该新元素的值大于根结点的值;则应把它插入到根结点右子树上..10.根据一组记录 56; 42; 73; 50; 64; 48; 22 依次插入结点生成一棵AVL树高度平衡的二叉搜索树时;当插入到值为 48 的结点时才出现不平衡;需要进行旋转调整..11.以顺序搜索方法从长度为n的顺序表或单链表中搜索一个元素时;其时间复杂度为On ..12.在一棵AVL树高度平衡的二叉搜索树中;每个结点的左子树高度与右子树高度之差的绝对值不超过 1 ..13.在线性表的散列存储中;装载因子 a 又称为装载系数;若用m表示散列表的长度;n 表示待散列存储的元素的个数;则 a 等于 n/m ..n.. 14.以折半搜索方法从长度为n的有序表中搜索一个元素时;时间复杂度为 Olog2 15.假定一个顺序表的长度为40;并假定搜索每个元素的概率都相同;则在搜索成功情况下的平均搜索长度为 20.5 ..16.假定要对长度n = 100的线性表进行散列存储;并采用开散列法处理冲突;则对于长度m = 20的散列表;每个散列地址的同义词子表单链表的长度平均为 5 ..17.假定对长度n = 50的有序表进行折半搜索;则对应的判定树中最后一层的结点数为 19 个..1 2 4 8 16 1918.根据n个元素建立一棵二叉搜索树二叉排序树的时间复杂度性大致为 Onlogn ..2 19.从一棵二叉搜索树中搜索一个元素时;若给定值小于根结点的值;则需要向左子树继续搜索..20.假定一个线性表为”abcd”; ”baabd”; ”bcef”; ”cfg”; ”ahij”; ”bkwte”; ”ccdt”; ”aayb”;若按照字符串的第一个字母进行划分;使得第一个字母相同的字符串被划分在一个子表中;则得到的以a为第一个字母的子表长度 3 ..21.假设在有序线性表A1..20上进行二分查找;则比较一次查找成功的结点数为1;则比较二次查找成功的结点数为2;则比较三次查找成功的结点数为4;则比较四次查找成功的结点数为8;则比较五次查找成功的结点数为5;平均查找长度为3.7.. 22.对于长度为n的线性表;若进行顺序查找;则时间复杂度为On;若采用二分法查找;则时间复杂度为Ologn ..223、对长度为3的顺序表进行搜索;若搜索第一个元素的概率为1/2;搜索第二个元素的概率为1/3;搜索第三个元素的概率为1/6;则搜索到表中任一元素的平均搜索长度为 A ..A.5/3 B.2 C.7/3 D.4/31/23+1/32+1/61=9/6+4/6+1/6=7/31/21+1/32+1/63=3/6+4/6+3/6=5/324、向一棵AVL树高度平衡的二叉搜索树插入元素时;可能引起对最小不平衡子树的双向旋转的调整过程;此时需要修改相关 C 个结点指针域的值..A.2 B.3 C.4 D.525、向一棵AVL树高度平衡的二叉搜索树插入元素时;可能引起对最小不平衡子树的调整过程;此调整分为 C种旋转类型..A.2 B.3 C.4 D.526、向一棵AVL树高度平衡的二叉搜索树插入元素时;可能引起对最小不平衡子树的左单或右单旋转的调整过程;此时需要修改相关 C个结点指针域的值..A.2 B.3 C.4 D.5三、判断题:1.×对二叉搜索树进行前序遍历得到的结点序列是一个有序序列..2.√折半搜索所对应的判定树;既是一棵二叉搜索树;又是一棵理想平衡二叉树它的特点是除最底层结点外其他各层结点数都是满的;最底层的若干结点可能散布在该层各处..3.√装载因子是散列表的一个重要参数;它反映了散列表的装满程度..4.√对于两棵具有相同记录集合而具有不同结构的二叉搜索树;按中序遍历得到的结点序列是相同的..三、综合练习题:1.画出对长度为10的有序表进行折半查找的判定树;并求其等概率时查找成功的平均查找长度..等概率时查找成功的平均查找长度=11+22+43+34/10=2.92.已知一组关键字{49;38;65;97;76;13;27;44;82;35;50};画出由此生成的二叉排序树和平衡二叉树..二叉排序树:平衡二叉树:3.设某字典组成如下∶D={016; 087; 154; 170; 275; 426; 503; 509; 512; 612; 653; 677; 703; 765; 897; 908}依次顺序表示在内存中;现用二分法的方法查找字典中是否有元素612;问需要进行多少次比较才能得到结论每次选择的比较对象是什么元素解:比较次数为3次;第一次和509比较;第二次和677比较;第三次和612比较.. 4.试给出一个关键码序列;使构造AVL树时四种调整平衡操作 LL; LR; RR; RL 各至少执行一次;并画出其构造过程..:解:设输入序列为{12;6;4;16;24;15;13;1;3}5.设顺序表中关键字是递增有序的;试写一顺序查找算法;将哨兵设在表的高下标端..解:Search_SeqSSTable ST; KeyType key{//顺序查找的算法;n号元素为监视哨ST.elemn.key=key; //哨兵for i=0; EQST.elemi.key;key;++i;return i;}6.什么叫静态查找什么叫动态查找什么样的存储结构适宜于进行静态查找什么样的存储结构适宜于进行动态查找7.什么叫平均查找长度写出平均查找长度的定义..8.已知一个个数为12的数据元素序列为{Dec; Feb; Nov; Oct; June; Sept; Aug; Apr; May; July; Jan; Mar};要求:1按各数据元素的顺序构造一棵二叉排序树..2设各数据元素的查找概率相等;给出该二叉排序树的平均查找长度..注:字母的大小是指字母的ASCII码数值大小3按各数据元素的顺序构造一棵平衡二叉树..解:1构造的二叉排序树:2平均查找长度为:11+22+23+24+35+26/12=46/12=23/63构造的平衡二叉树:9.使用散列函数hash x = x %11; 把一个整数值转换成散列表地址..现要把数据1; 13; 12; 34; 38; 33; 27; 22 插入到散列表中..1 使用线性探查再散列法来构造散列表..2 使用链地址法构造散列表..针对这两种情况; 确定其装载因子; 搜索成功所需的平均探查次数; 以及搜索不成功所需的平均探查次数..解:1Hash1=1;成功hash13=2;成功hash12=1;冲突;hash12=2;冲突;hash12=3;成功;hash34=1;hash34=2;冲突;hash34=3;冲突;hash34=3;冲突;hash34=4;成功hash38=5;成功hash33=0;成功hash27=5;冲突; hash27=6;成功hash22=0;冲突;hash22=1;冲突;hash22=2;冲突;hash22=3;冲突;hash22=4;冲突;hash22=5;冲突;hash22=6;冲突;hash22=7;成功线性探查再散列法来构造的散列表装载因子=8/11搜索成功所需的平均探查次数=1+1+1+3+4+1+2+8/8=21/8搜索不成功所需的平均探查次数=9+8+7+6+5+4+3+2+1+1+1/11=47/11 2 使用链地址法构造的散列表装载因子=8/11搜索成功所需的平均探查次数=1+1+1+1+2+2+2+3/8=13/8搜索不成功所需的平均探查次数=3+4+2+1+1+3+1+1+1+1+1/11=19/11。
数据结构习题五(答案)
数据结构习题(5)学号________ 姓名_______ 课堂号(___________)1.选择题1)对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( A )A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/22)下面关于二分查找的叙述正确的是 ( D )A. 表必须有序,表可以顺序方式存储,也可以链表方式存储B. 表必须有序且表中数据必须是整型,实型或字符型C. 表必须有序,而且只能从小到大排列D. 表必须有序,且表只能以顺序方式存储3)折半查找的时间复杂性为(D)A. O(n2)B. O(n)C. O(nlog(n))D. O(log(n))4)概率不同的有序表,最适合的查找算法是( C )A.顺序查找B.折半查找C.静态树表查找 D.索引顺序表查找5)平均查找长度最短的查找方法是____C________。
A.折半查找 B.顺序查找 C.哈希查找 4.其他6)折半查找有序表(4,6,10,12,20,30,50,70,88,100)。
若查找表中元素58,则它将依次与表中A比较大小,查找结果是失败。
A.20,70,30,50 B.30,88,70,50 C.20,50 D.30,88,507)当采用分快查找时,数据的组织方式为 ( B )A.数据分成若干块,每块内数据有序B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D. 数据分成若干块,每块(除最后一块外)中数据个数需相同8)分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( C )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. (100,80, 60, 90, 120,130,110)9)设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造散列表,散列函数为H(key)=key MOD 13,散列地址为1的链中有( D )个记录。
数据结构练习题及答案
数据结构试题及答案第一章一、选择题1、研究数据结构就是研究( D )。
A. 数据的逻辑结构B. 数据的存储结构C. 数据的逻辑结构和存储结构D. 数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。
A. 空间复杂度和时间复杂度B. 正确性和简单性C. 可读性和文档性D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。
A. 图B. 树C. 二叉树D. 栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。
A. 可执行性、可移植性和可扩充性B. 可执行性、有穷性和确定性C. 确定性、有穷性和稳定性D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。
for(i=0;i<m;i++)for(j=0;j<n;j++)a[i][j]=i*j; A. O(m 2) B. O(n 2) C. O(m*n) D. O(m+n)6、算法是( D )。
A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog 2n+n 2+8),其时间复杂度表示( C )。
A. O(n) B. O(nlog 2n) C. O(n 2) D. O(log 2n)8、下面程序段的时间复杂度为( C )。
i=1;while(i<=n)i=i*3;A. O(n)B. O(3n)C. O(log 3n)D. O(n 3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的( B )和运算等的学科。
A. 结构B. 关系C. 运算D. 算法10、抽象数据类型的三个组成部分分别为( A )。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型11、下列程序段的时间复杂度为(B )。
数据结构查找与排序练习题答案——查找排序练习题答案
数据结构查找与排序练习题答案一、选择题1.对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( ) A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/22.适用于折半查找的表的存储方式及元素排列要求为( )A.链接方式存储,元素无序 B.链接方式存储,元素有序C.顺序方式存储,元素无序D.顺序方式存储,元素有序3.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( )A.必定快 B.不一定 C. 在大部分情况下要快 D. 取决于表递增还是递减4.有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下查找成功所需的平均比较次数为()。
A.35/12 B.37/12 C.39/12 D.43/125.折半查找的时间复杂性为()A. O(n2)B. O(n)C. O(nlogn)D. O(logn)6.对有18个元素的有序表作折半查找,则查找A[3]的比较序列的下标为()A.1,2,3B.9,5,2,3C.9,5,3D.9,4,2,37.设有序表的关键字序列为{1,4,6,10,18,35,42,53,67,71,78,84,92,99},当用二分查找法查找健值为84的结点时,经()次比较后查找成功。
A.2B. 3C. 4D.128.用n个键值构造一棵二叉排序树,最低高度为()A.n/2B.、nC.lognD.logn+19.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( ) 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.(100,80, 60, 90, 120,130,110)10.设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造散列表,散列函数为H(key)=key% 13,散列地址为1的链中有()个记录。
数据结构第九章--查找-习题及答案
第九章查找一、选择题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.1B. 4C. 2.5D. 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. (100,80, 60, 90, 120,130,110)10. 在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并已知A的左孩子的平衡因子为0右孩子的平衡因子为1,则应作( ) 型调整以使其平衡。
数据结构第9章 查找习题
第9章查找一、单项选择题1.顺序查找法适合于存储结构为______的线性表。
A.哈希存储B.顺序存储或链式存储C.压缩存储D.索引存储2.对线性表进行二分查找时,要求线性表必须______。
A.以顺序方式存储B.以链式方式存储C.以顺序方式存储,且结点按关键字有序排序D.以链式方式存储,且结点按关键字有序排序3.如果要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用______方法。
A.顺序查找B.二分查找C.分块查找D.以上都不对4.在含有27个结点的二叉树排序树上,查找关键字为35的结点,则依次比较的关键字有可能是______。
A.28,36,18,46,35 B.18,36,28,46,35C.46,28,18,36,35 D.46,36,18,28,355.在一棵平衡二叉树中,每个结点的平衡因子的取值范围是______。
A.-1~1 B.-2~2C.1~2 D.0~16.如图9-1所示的4棵二叉树A、B、C和D______是平衡二叉树。
A B.C D.图9-17.一棵深度为K的平衡二叉树,其每个非叶子结点的平衡因子均为0,则该树共有______个结点。
A.2k-1-1 B.2k-1C.2k-1+1 D.2k-18.查找效率最高的二叉树排序树是______。
A.所有结点的左子树都为空的二叉排序树B.所有结点的右子树都为空的二叉排序树C.平衡二叉树D.没有左子树的二叉排序树二、填空题1.长度为225的表,采用分块查找法,每块的最佳长度是_________________。
2.按13,24,37,90,53的次序形成平衡二叉树,则该平衡二叉树的高度是____________,其根为___________,左子树中的数据是____________,右子树中的数据是_____________。
三、判断题1.顺序查找法适用于存储结构为顺序或链式存储的线性表。
2.顺序查找法只能在顺序存储结构上进行。
数据结构 图 查找练习题
9.7 已知一个有序表的表长为8N,并且表中没有 关键字相同的记录。假设按如下所述方法插入一 个关键字等于给定值K的记录:先在第 8,16,24,…,8K,…,8N个记录中进行顺序查找,或 者查找成功,或者由此确定出一个继续进行折半 查找的范围。画出描述上述查找过程的判定树, 并求等概率查找时查找成功的平均查找长度。
9
2
6
1
9.19 选取哈希函数H(k)=(3k) MOD 11。用开放 定址法处理冲突,di=i((7k) MOD 10+1) (i=1,2,3,…)。试在0~10的散列地址空间中对 关键字序列(22,41,53,46,30,13,01,67)构造哈希 表,并求等概率情况下查找成功时的平均查找 长度。
第7章 习题
7.1 已知如图所示的有向图,请给出该图的
(1)每个顶点的入/出度
(2)邻接矩阵 (3)邻接表 (4)强连通分量
1
7.7 请对下图中的无向带权图
(1)写出它的邻接矩阵,并按普里姆算法求其最小生 成树
(2)写出它的邻接表,并按克鲁斯卡尔算法求其最小 生成树
9 e3
4 b 57 6 f
a 5 5d
3c
4
52 g
5 h6
2
7.11 试利用Dijkstra算法求图中从顶点a到其他 各顶点间的最短路径,写出执行算法过程中各 步的状态。
b
4
15
68 e 9
a 2c
g
4
12
5 f 10
d
3
3
第9章 习题
9.2 试分别画出在线性表(a,b,c,d,e,f,g)中进行折 半查找,以关键字等于e,f和g的过程。 9.3 画出对长度为10的有序表进行折半查找的 判定树,并求其等概率时查找成功的平均查找 长度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第9章查找一、单选题1.对一棵二叉搜索树按()遍历,可得到结点值从小到大的排列序列。
A. 先序B. 中序C. 后序D. 层次2.从具有n个结点的二叉搜索树中查找一个元素时,在平均情况下的时间复杂度大致为()。
A. O(n)B. O(1)C. O(logn)D. O(n2)3.从具有n个结点的二叉搜索树中查找一个元素时,在最坏情况下的时间复杂度为()。
A. O(n)B. O(1)C. O(logn)D. O(n2)4.在二叉搜索树中插入一个结点的时间复杂度为()。
A. O(1)B. O(n)C. O(logn)D. O(n2)5.}6.分别以下列序列构造二叉搜索树,与用其它三个序列所构造的结果不同的是()。
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.(100,80,60,90,120,130,110)7.在一棵AVL树中,每个结点的平衡因子的取值范围是()。
A. -1 1B. -2 2C. 1 2D. 018.根据一组关键字(56,42,50,64,48)依次插入结点生成一棵AVL树,当插入到值为()的结点时需要进行旋转调整。
A. 42B. 50C. 64D. 489.深度为4的AVL树至少有()个结点。
【A.9 B. 8 C. 7 D. 610.一棵深度为k的AVL树,其每个分支结点的平衡因子均为0,则该平衡二叉树共有()个结点。
+111.在AVL树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并已知A的左孩子的平衡因子为0,右孩子的平衡因子为1,则应作()型调整以使其平衡。
A. LLB. LRC. RLD. RR二、判断题1.二叉搜索树的任意一棵子树中,关键字最小的结点必无左孩子,关键字最大的结点必无右孩子。
2.二叉搜索树中每个结点的关键字值大于其左非空子树(若存在的话)所有结点的关键字值,且小于其右非空子树(若存在的话)所有结点的关键字值。
3.二叉搜索树按照中序遍历将各结点打印出将各结点打印出来,将得到按照由小到大的排列。
4.若二叉搜索树的根结点没有左儿子,则根结点一定是值最小的结点。
5.?6.二叉搜索树一定是满二叉树。
7.从二叉搜索树的根结点一直沿右儿子向下找不一定能找到树中值最大的结点。
8.二叉搜索树的充要条件是任一结点的值均大于其左孩子的值,小于其右孩子的值。
9.若二叉搜索树中关键码互不相同,则其中最小元素和最大元素一定是叶子结点。
10.在任意一棵非空二叉搜索树中,删除某结点后又将其插入,则所得二叉搜索树与原二叉搜索树相同。
11.当向二叉搜索树中插入一个结点,则该结点一定成为叶子结点。
12.AVL树是指左右子树的高度差的绝对值不大于1的二叉树。
13.AVL是一棵二叉树,其树上任一结点的平衡因子的绝对值不大于1。
14.在AVL树中,向某个平衡因子不为零的结点的树中插入一新结点,必引起平衡旋转。
三、填空题1.~2.在一棵二叉搜索树上实施遍历后,其关键字序列是一个有序表。
3.一个无序序列可以通过构造一棵_______而变成一个有序序列,构造树的过程即为对无序序列进行排序的过程。
4.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定________该结点的值,右子树上所有结点的值一定________该结点。
5.从一棵二叉搜索树中查找一个元素时,若元素的值等于根结点的值,则表明_______,若元素的值小于根结点的值,则继续向_______查找,若元素的值大于根结点的值,则继续向________查找。
6.向一棵二叉搜索树中插入一个元素时,若元素的值小于根结点的值,则接着向根结点的________插入,若元素的值大于根结点的值,则接着向根结点的________插入。
7.根据n个元素建立一棵二叉搜索树的时间复杂度大致为________。
8.二叉树中某一结点左子树的深度减去右子树的深度称为该结点的_______。
9.深度为4的平衡二叉树中至少有个结点,至多有个结点。
10.在一棵AVL树中,每个结点的左子树高度与右子树高度之差的绝对值不超过________。
四、应用题1.`2.一棵二叉搜索树的结构如下图所示,结点的值为1~8,请标出各结点的值。
3.若依次输入序列{62,68,30,61,25,14,53,47,90,84}中的元素,生成一棵二叉搜索树。
画出生成后的二叉搜索树(画出生成过程)。
4.依次读入给定的整数序列{7,16,4,8,20,9,6,18,5},构造一棵二叉搜索树,并计算在等概率情况下该二叉搜索树的平均查找长度ASL。
(要求给出构造过程)5.从空二叉树开始,严格按照二叉搜索树的插入算法(不进行平衡旋转),逐个插入关键码{18, 73, 10, 5, 68, 99, 27, 41, 51, 32, 25}构造出一棵二叉搜索树,画出这棵二叉搜索树并写出其前序、后序遍历序列。
6.若一棵二叉搜索树的关键字输入序列为{80,6,10,7,8,25,100,90},请画出该二叉搜索树。
7.设有一组初始记录关键字为(45,80,48,40,22,78),要求构造一棵二叉搜索树并给出构造过程。
8.假定一个关键字序列为(38, 52, 25, 74, 68, 16, 30, 54, 90, 72),画出按序列中元素的次序生成的一棵二叉搜索树,求出其平均查找长度。
9.将数列(24,15,38,27,121,76,130)的各元素依次插入一棵初始为空的二叉搜索树中,请画出最后的结果并求等概率情况下查找成功的平均查找长度。
10.输入一个正整数序列{40, 28, 6, 72, 100, 3, 54, 1, 80, 91, 38},建立一棵二叉搜索树,然后删除结点72,分别画出该二叉树及删除结点72后的二叉树。
11.·12.根据元素插入的先后次序不同,可构成多种形态的二叉搜索树。
请画出4棵含1,2,3,4四个元素且以1为根、深度为3的二叉搜索树。
13.请画出从下面的二叉搜索树中删除关键码40后的结果。
20114062450835456032814.对关键字序列(25, 16, 34, 39, 28, 56),1)画出按此序列生成的二叉搜索树。
2)计算等概率下查找成功时的平均查找长度。
15.输入一个正整数序列(53, 17, 12, 66, 58, 70, 87, 25, 56, 60),试完成下列各题。
(1)按次序构造一棵二叉搜索树BS。
(2)依此二叉搜索树,如何得到一个从大到小的有序序列(3)假定每个元素的查找概率相等,试计算该二叉搜索树的平均查找长度`(4)画出在此二叉搜索树中删除“66”后的树结构。
16.试推导深度为5的平衡二叉树最少包含多少个结点,并画出一棵这样的树。
17.画出在一个初始为空的AVL树中依次插入3, 1, 4, 6, 9, 8, 5, 7时每一插入后AVL树的形态。
若做了某种旋转,说明旋转的类型。
18.给定一个关键字序列4, 5, 7, 2, 1, 3, 6,生成一棵AVL树,画出构造过程。
19.给定关键字序列4, 5, 7, 2, 1, 3, 6,分别生成二叉搜索树和AVL树,并用二叉搜索树和AVL树两种方法查找,给出查找6的查找次数及查找成功的平均查找长度。
20.给定关键词输入序列{CAP, AQU, PIS, ARI, TAU, GEM, CAN, LIB, VIR, LEO, SCO},假定关键词比较按英文字典序,试画出从一棵空树开始,依上述顺序(从左到右)输入关键词,用AVL树的插入算法生成一棵AVL树的过程,并说明生成过程中采用了何种转动方式进行平衡调整,标出树中各结点的平衡因子。
参考答案一、1-5. BCABC 6-10. ABCCC二、.1-5. √√√√×6-10. ××××√11-13. √√×三、1.中序2.二叉搜索树3.小于,大于4.查找成功,左子树,右子树5.左子树,右子树6.O(n2)7.平衡因子8.7, 159.^10.1四、1.2.3.ASL= (1+2*2+3*3+4*3)/9 = 26/9 = 4.】5.前序:18 10 5 73 68 27 25 41 32 51 99后序:5 10 25 32 51 41 27 68 99 73 18 6.7.8.二叉搜索树如图所示,平均查找长度等于32/10。
~9.平均查找长度=1+2×2+3×2+4×2=19/7。
10.二叉搜索树删除72后的二叉搜索树11.12.或13.*14.(1)(2)(1+2*2+3*2+4*1)/6 =15.(1)构造的二叉搜索树为:(4)删除结点66后¥(2) 对于一个二叉搜索树,想得到一个从大到小的序列只要先读右子树再读根结点,最后读左子树的遍历这颗二叉树就可以了。
如果是要从小到大的序列,则只需中序遍历这颗二叉树即可。
(3)该二叉树的平均查找长度为:ASL=(1*1+2*2+3*4+4*3)/10=16.略17.18.19.二叉搜索树AVL树从二叉搜索树查找6需4次,平均查找长度ASL=(1+2+2+3+3+3+4)/7=18/7≈。
从平衡二叉树查找6需2次,平均查找长度A SL=(1+2+2+3+3+3+3)=17/7≈。
20.。