ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:69.76KB ,
资源ID:4293588      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4293588.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(复习题数据结构复习题附答案.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

复习题数据结构复习题附答案.docx

1、复习题数据结构复习题附答案【关键字】复习题一是非题1. 数据结构(应该是抽象数据类型)可用三元式表示(D,S,P)。其中:D是数据对象,S是D上的关系,P是对D的基本操作集。(f)2 简单地说,数据结构是带有结构的数据元素的集合。(t)3 判断带头结点的非空循环单链表(头指针为L)中指针p所指结点是最后一个元素结点的条件是:p-next=L。(t)4 线性表的链式保存结构具有可直接存取表中任一元素的优点。(f) 5 线性表的顺序保存结构优于链式保存结构。(f)6. 在单链表P指针所指结点之后插入S结点的操作是:P-next= S ; S- next = P-next;。(f)(顺序弄反了S-

2、next = P-next; P-next= S ;)7 对于插入、删除而言,线性表的链式保存优于顺序保存。(t)8. 顺序保存方式的优点是保存密度大,且插入、删除运算效率高。(f)9. 栈和队列是操作上受限制的线性表。(t)10. 队列是与线性表完全不同的一种数据结构。(f)(栈和队列是操作上受限制的线性表)11. 队列是一种操作受限的线性表,凡对数据元素的操作仅限一端进行。(f) (两端)12. 栈和队列也是线性表。如果需要,可对它们中的任一元素进行操作。(f)( “如果需要,可对它们中的任一元素进行操作.” 这里的意思是在O(1)的时间来读和改某个元素。比如数组的直接索引。栈:如果需要,

3、每一次只能对栈顶的元素进行操作队列:如果需要,每一次只能对两端,或者只能对队列头的元素进行操作。)13. 栈是限定仅在表头进行插入和表尾进行删除运算的线性表。(f)14. 二叉树中每个结点有两个子结点,而对一般的树,则无此限制,所以,二叉树是树的 特殊情形。(f)(二叉树和树相互独立)15 二叉树是一棵结点的度最大为二的树。(f) (二叉树和树相互独立)16 赫夫曼树中结点个数一定是奇数。(t)17 在二叉树的中序遍历序列中,任意一个结点均处在其左孩子结点的后面。(t)(LDR)18 假设B是一棵树,B是对应的二叉树。则B的后根遍历相当于B的后序遍历 。(f)(后根遍历相当于中序遍历)19.

4、通常,二叉树的第i层上有2i-1个结点。(f)(应该为12i-1个)20. 中序线索二叉树的优点是便于在中序下查找直接前驱结点和直接后继结点。(t)21 二叉树的先序遍历序列中,任意一个结点均处在其孩子结点的前面。(t)22 由树结点的先根序列和后根序列可以唯一地确定一棵树。(t)23 邻接多重表可以用以表示无向图,也可用以表示有向图。(f)(只能表示无向图,有向图用十字链表)24 可从任意有向图中得到关于所有顶点的拓扑次序。(f)(带环图没有)25 有向图的十字链表是将邻接表和逆邻接表合二为一的链表表示形式。(t)26 关键路径是AOE网中源点到汇点的最短路径。(f)(最长)27 连通图G的

5、生成树是一个包含G的所有n个顶点和n-1条边的子图。(f)(极大连通子图)28 一个无向图的连通分量是其极大的连通子图。(t)29 十字链表可以表示无向图,也可用以表示有向图。(f)(有向图)30 邻接表可以表示有向图,也可以表示无向图。(t)31. 二叉排序树的平均查找长度为O(log)。(t)32. 二叉排序树的最大查找长度与(LOG2N)同阶。(f)33 选用好的HASH函数可避免冲突。(f)(无法避免,只能减少冲突)34 折半查找不适用于有序链表的查找。(t)(因链表地址不连续)35. 对于目前所知的排序方法,快速排序具有最好的平均性能。(t)36 对于任何待排序序列来说,快速排序均快

6、于冒泡排序。(f)(快速排序希望初始数据随机)37 在最坏情况下,堆排序的时间性能是O(nlogn),比快速排序好(t)(堆排序与初始数据无关)38 快速排序具有最好的平均时间性能,它在任何时候的时间复杂度都是O(n log n)。(f)(退化到n2)39. 字符串是数据对象特定的线性表。(t)40. 空串与空格串是相同的。(f)(空串长度为0,空格串长度为其长度)41. 对于一棵m阶的B-树.树中每个结点至多有m 个关键字.除根之外的所有非终端结点至 少有m/2个关键字。(f)(至少有m颗子树,关键字数目至少m-1)42. 当二叉排序树是一棵平衡二叉树时,其平均查找长度为O(log2n)。(

7、t)43. 广义表的表头和表尾都是广义表。(f)(表头可能是原子,也可能是列表,而其表尾必定为列表)44 二维数组是其数据元素为线性表的线性表。(t)选择题。1 从逻辑上可以把数据结构分成( c )。 A. 动态结构和静态结构 B. 顺序组织和链接组织 C. 线性结构和非线性结构 D. 基本类型和组合类型2 线性表L在( b )情况下适于使用链表结构实现。 A. 不需修改L的结构 B. 需不断对L进行删除、插入 C. 需经常修改L中结点值 D. L中含有大量结点3 带头结点的单链表L为空的判断条件是 b 。 带头结点的循环链表L为空的判断条件是 c 。 A. L=null B. L-next=

8、null C. L-next=L D. L!=null4 若顺序表中各结点的查找概率不等,则可用如下策略提高顺序查找的效率:若找到指定 的结点,将该结点与其后继(若存在)结点交换位置,使得经常被查找的结点逐渐移至 表尾。以下为据此策略编写的算法,请选择适当的内容,完成此功能。 顺序表的存储结构为:typedef struct ElemType *elem; /数据元素存储空间,0号单元作监视哨 int length; /表长度 SSTable;int search_seq(SSTable ST,KeyType key) /在顺序表ST中顺序查找关键字等于key的数据元素。/若找到,则将该元素与

9、其后继交换位置,并返回其在表中的位置,否则为0。ST.elem0.key=key;i=ST.length;while(ST.elemi.key!=key) f ;if( G ) ST.elemiST.elemi+1; e ; return i;A. i0 B. i=0 C. iST.length D. i哈夫曼树25 已知某二叉树的后序遍历和中序遍历次序分别为DBFGECA和BDACFEG。则其先序遍历次序为( b ),层次遍历次序为( a )。a: abcdefg b: abdcefg c: abcdfeg d: abcdegf后序:DB FGEC A谁后访问谁是根 L R D中序:BD A

10、 CFEG L D R (A) (B) (C) (D) (E) / (F) (G)26 已知某树的先根遍历次序为abcdefg后根遍历次序为cdebgfa。 若将该树转换为二叉树,其后序遍历次序为( d )。a: abcdefg b: cdebgfa c: cdegbfa d: edcgfba先根:a bcdefg后根:cdebgf a (a) (b) (f) / | (c) (d) (e) (g)27 设x和y是二叉树中的任意两个结点,若在先根序列中x在y之前,而在后根序列中x 在y之后,则x和y的关系是( c )。 A. x是y的左兄弟 B. x是y的右兄弟 C. x是y的祖先(不一定是父

11、子) D. x是y的子孙28 用三叉链表作二叉树的存储结构,当二叉树中有n个结点时,有( d )个空指针。 A. n-1 B. n C. n+1 D. n+2三叉链表:较二叉链表多一双亲指针域二叉链表:2n - (n-1) = n+12n个指针域 有效指针域根节点双亲指针必为空,故n+1+1=n+229 对一棵完全二叉树进行层序编号。则编号为n的结点若存在右孩子,其位序是( d )。 编号为n的结点若存在双亲,其位置是( a )。 a: n/2 b: 2n c:2n-1 d:2n+1 e:n f: 2(n+1)30 设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为m1、m2和m3,则与

12、 森林F对应的二叉树根结点的右子树上的结点个数是( d )。A. m1 B. m1+m2 C. m3 D. m2+m3(A) (B) (C)/ / / m1 m2 m3(A)/ (左) (右) m-1 m2+m331 下列二叉树中,( a )可用于实现符号不等长高效编码。 a:最优二叉树 b:次优查找树 c:二叉平衡树 d:二叉排序树哈夫曼树32 邻接表存储结构下图的深度优先遍历算法类似于二叉树的(a )遍历。 A. 先根 B. 中根 C. 后根 D. 层次33 设无向图G = (V,E)和G= (V,E),若G是G的生成树,则下面不正确的说法是( b )。 A. G是G的子图 B. G是G的

13、连通分量 C. G是G的无环子图 D. G是G的极小连通子图且V= V生成树:极小连通分量:极大34 任何一个连通图的最小生成树( b )。 A只有一棵 B. 有一棵或多棵 C. 一定有多棵 D. 可能不存在35 深度优先遍历图使用了数据结构(b ),而广度优先遍历图使用了数据结构( c )。A)数组 B)栈 C)队列 D)线性表DFS:栈(递归)BFS:队列(层次)36 已知某有向图的邻接表存储结构如图所示。 根据存储结构依教材中的算法其深度优先遍历次序为( d )。 广度优先遍历此序为( c )。各强连通分量的顶点集为( h )。 a: abcde. b: edcba. c: ecdab.

14、 d: ecadb. e: abc及ed f: bc及aed g: ab及ced h: ac及bed37 下列查找方法中( a )适用于查找单链表。 A)顺序查找 B)折半查找 C)分块查找 D)hash查找38 下列算法中(c )适用于求图的最小代价生成树。( b )能对图作广度优先遍历。 A)DFS算法 B)BFS算法 C)Prim算法 D)Dijkstra算法39 关键路径是指在只有一个源点和一个汇点的有向无环网中源点至汇点( c )的路径。 a:弧的数目最多 b:弧的数目最少 c:权值之和最大 d:权值之和最小40 哈希表的查找效率取决于( d )。a: 哈希函数 b:处理冲突的方法。

15、 c:哈希表的装填因子。 d:以上都是 哈希函数是否均匀; 处理冲突的方法; 哈希表的装填因子。41 在Hash函数H(k)=k MOD m中,一般来说,m应取( c )。 A. 奇数 B. 偶数 C. 素数 D. 充分大的数素数可以有效的减少Hash冲突42 在顺序表查找中,为避免查找过程中每一步都检测整个表是否查找完毕, 可采用 a 方法。 A.设置监视哨 B.链表存贮 C.二分查找 D.快速查找43 静态查找表和动态查找表的区别在于( b )。 A. 前者是顺序存储,而后者是链式存储 B. 前者只能进行查找操作,而后者可进行查找、插入和删除操作 C. 前者只能顺序查找,而后者只能折半查找

16、D. 前者可被排序,而后者不能被排序动态查找表在查找过程中插入元素或者从查找表中删除元素静态查找表只是查找特定元素或者检索特定元素的属性最通俗的解释:动态查找表可以对查找表结构进行修改,而静态查找表只是查询44 在一个含有n个元素的有序表上进行折半查找,找到一个元素最多要进行( b )次元素 比较。 Alog2(n) B. log2(n)+1 C. log2(n+1) D. log2(n+1)+1折半查找每次都会把范围缩小一半,因为最后剩一个元素时,也要执行查找过程,所以+1。每次二分直到最后一次才找到就会有2k=n/2得到k=log2n+145 设输入序列为20, 45, 30, 89, 7

17、0, 38, 62,19依次插入到一棵2-3树中(初始状态为空), 该B-树为( b )。再删除38,该B-树为( f )。 ( 30 62 ) ( 45 ) (19,20)( 38 45 ) ( 70,89 ) ( 30 ) ( 70 ) (19 20) (38 )( 62 ) ( 89 ) a: b: ( 45 70 ) ( 45 ) (20) ( 62 ) ( 89 ) ( 20 ) ( 70 )(19)( 30 ) ( 19 ) ( 30,38 )( 62 ) ( 89 ) c: d: ( 30 70 ) ( 45 ) (19,20) ( 45 62) ( 89 ) ( 20 ) (

18、70 ) (19 ) (30 )( 62 ) ( 89 ) e: f:46根据插入次序(80,90,100,110,85,70,75,60,72)建立二叉排序树。 图( a )是最终变化的结果。若仍以该插入次序建立平衡二叉树。图( c )是最 终变化的结果。 80 80 70 90 75 90 60 75 85 100 60 70 85 100 72 110 72 110 a: b: 90 90 75 100 80 100 70 80 110 75 70 85 110 60 72 85 60 72 c: d:47 若有序表中关键字序列为:14,20,25,32,34,45,57,69,77,8

19、3,92。对其进行 折半查找,则在等概率情况下,查找成功时的平均查找长度是( c )。查找32时需进 行( c )次比较。A. 1 B. 2 C. 3 D. 4 48 已知哈希表地址空间为A9,哈希函数为H(k)=k mod 7,采用线性探测再散列处理冲突。 若依次将数据序列:76,45,88,21,94,77,17存入该散列表中,则元素17存储的下标为( h ); 在等概率情况下查找成功的平均查找长度为( c )。 A. 0 B. 1 C. 2 D. 3 E. 4 F. 5 G. 6 H. 749 若从二叉树的根结点到其它任一结点的路径上所经过的结点序列按其关键字递增有序, 则该二叉树是(

20、c )。 A. 二叉排序树 B. 赫夫曼树 C. 堆 D. 平衡二叉树50 当待排序序列的关键字次序为倒序时,若需为之进行正序排序,下列方案中( d )为佳。 A. 起泡排序 B. 快速排序 C. 直接插入排序 D. 简单选择排序51 下列排序算法中,( d)算法可能会出现:初始数据有序时,花费的时间反而最多。 A. 堆排序 B. 起泡排序 C. 归并排序 D. 快速排序52 在下列排序方法中,( c )方法平均时间复杂度为0(nlogn), 最坏情况下时间复杂度为0(n2);( d )方法所有情况下时间复杂度均为0(nlogn)。 a. 插入排序 b. 希尔排序 c. 快速排序 d. 堆排序

21、 53 已知一组待排序的记录关键字初始排列如下:56,26,86,35,75,19,77,58,48,42下列选择中( d )是快速排序一趟排序的结果。( c )是希尔排序(初始步长为3)一趟排序的结果。( a )是初始堆(大堆顶)。 A)86,75,77,58,42,19,56,35,48,26. B)26,56,35,75,19,77,58,48,42,86. C)35,26,19,42,58,48,56,75,86,77. D)42,26,48,35,19,56,77,58,75,86.三填空题1 数据结构通常有下列4类基本结构:集合、线性结构 、树型结构、图型结构。2设单链表中结点形式

22、为 data next ,若单链表长度大于等于2,指针p指向表中某个结点且p-next非空,此时若要删除指针p所指的结点,可以通过如下方法进行:将p所指结点的后继的元素值复制到该结点,然后删除其后继结点。相应的语句序列为:p-data=p-next-data;p-next=p-next-next;free(p-next); ;3 线性表的顺序存储结构是以数组下标来表示数据元素之间的逻辑关系的。4 已知P是单链表中某一结点的指针,P既不是首元结点也不是尾元结点,Q是P 的 前驱 结点指针。当删除P结点时,链表的链接可用语句(q-next = p-next)实现。5 已知某树的先根遍历次序为abcdefg后根遍历次序为cdebgfa。 若将该树转换为

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1