收藏 分享(赏)

数据结构复习题.doc

上传人:cjc2202537 文档编号:1717800 上传时间:2018-08-19 格式:DOC 页数:7 大小:39KB
下载 相关 举报
数据结构复习题.doc_第1页
第1页 / 共7页
数据结构复习题.doc_第2页
第2页 / 共7页
数据结构复习题.doc_第3页
第3页 / 共7页
数据结构复习题.doc_第4页
第4页 / 共7页
数据结构复习题.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、数据结构复习题一、单选题1.线性链表中各结点之间的地址( ).A. 必须连续 B. 一定不连续C. 部分地址必须连续 D. 连续与否无所谓2 线性表是具有 n 个( )的有限序列.A.表元素 B. 字符C. 数据元素 D. 信息项3 若长度为 n 的线性表采用顺序存储结构,在其第 i 个位置插入一个新元素的算法的时间复杂度为( ).(1i n+1)A. O(0)B. O(1)C. O(n)D.O(n2) 4.不带头结点的单链表 head 为空的判断条件是( ).A.head=NULL B.head-next=NULLC.head-next=head D.head!=NULL5.线性表的长度是指

2、( )A.顺序存储方式下数组所占的空间大小B.链式存储方式下所有结点占用的空间大小C.表中的元素个数D.所能存储的最大的结点个数6.某数组第一个元素的存储地址为 200,每个元素的长度为 4,则第五个元素的地址是( ).A.210 B.208 C.216 D.2207.链栈和顺序栈相比,有一个较明显的优点是( ).A.通常不会出现栈满的情况 B. 通常不会出现栈空的情况C.插入操作更加方便 C.删除操作更加方便8 带头结点的单链表 head 为空的判断条件是( ).A. head=NULL B. head-next=NULLC. head-next=head D. head!=NULL9 在单

3、链表中增加头结点的目的是为了( ).A. 方便运算的实现 B. 用于标识单链表C. 使单链表中至少有一个结点 D. 用于标识起始结点的位置10 对有 n 个记录的表按记录键值有序建立二叉排序树,在这种情况下,其平均查找长度的量级为( ).A. O(n) B. O(nlog2n)C. O(1) D. O(log2n)11 若某链表最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用( )存储方式最节省空间.A. 单链表 B. 双链表C. 带头结点的双循环链表 D. 单循环链表12.单链表的存储密度( ).A.大于 1 B.等于 1 C.小于 1 D.不能确定13 非空的循环单链

4、表 head 的尾结点(由 p 指针所指)满足( ).A. p-next=NULL B. p=NULLC. p-next=head D. p=head14 在一个单链表中,已知(*q)结点是(*p)结点的前驱结点,若在(*q)和(*p)之间插入(*s)结点,则执行( ).A. s-next=p-next ; p-next=s ;B. p-next=s-next ; s-next=p ;C. q-next=s ; s-next=p ;D. p-next=s ; s-next=q ;15 在一个单链表中,若删除(*p)结点的后继结点,则执行( ).A.p-next=p-next-next ; B.

5、p=p-next; p-next=p-next-next ; C.p-next=p-next ;D.p =p-next-next ;16 设输入序列为的 1,2,3,4,借助一个栈可以得到的输出序列是( ).A. 1,3,4,2 B. 3,1,4,2 C. 4,3,1,2 D. 4,1,2,317.以下叙述正确的是( ).A. 在顺序存储的线性表中,逻辑上相邻的两个数据元素在物理上并不一定相邻B. 链式存储的线性表可以随机存取C. 顺序存储的线性表可以随机存取D. 在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数仅于该元素的位置有关18.设输入序列为的 A,B,C,D,借助一个栈不可

6、以得到的输出序列是( ).A. A,B,C,D B. A,C,D,BC. D,C,B,A D. D,A,B,C19 栈和队列都是( )A.顺序存储的线性表 B.链式存储的线性表C.限制存取点的线性结构 D.限制存取点的非线性结构20.设输入序列为 1,2,3,4,5,借助一个栈可以得到的输出序列是( ).A.2,4,1,3,5 B.3,4,1,5,2C.3,2,4,1,5 D.4,1,3,2,521.链表不具有的特点是( ).A.可随机访问任一元素 B.插入删除不需要移动元素C.不必事先估计存储空间 D.所需空间与线性表长度成正比22.若已知一个栈的输入序列为 1,2,3,4,n,其输出序列

7、p1, p2, ,pn.若 p1=n,则pi 为().A.i B.n-i C.n-i+1 D.不确定23 对稀疏矩阵进行压缩存储是为了( ) A. 便于进行矩阵运算 B. 便于输入和输出C. 节省存储空间 D. 降低运算的时间复杂度24 串是( ) A. 一些符号构成的序列 B. 一些字母构成的序列C. 一个以上字符构成的序列 D. 任意有限个字符构成的序列25.某二叉树的前序和后序序列正好相反,则该二叉树一定是( )二叉树.A.空或只有一个结点 B. 高度等于其结点数C.任意结点无左孩子 D. 任意结点无右孩子26.具有 n 个顶点的有向图最多可包含( )条有向边.A.n-1 B.n C.n

8、(n-1)/2 D.n(n-1) 27.二分查找法要求查找表中各元素的键值必须是( )排列.A. 递增或递减 B. 递增C. 递减 D.无序28.使具有 9 个顶点的无向图成为一个连通图至少应有边的条数是( ).A . 6 B . 8 C . 5 D . 429.在一个具有 n 个顶点的完全无向图的边数为 ( ).A.n(n+1)/2 B. n(n-1)/2 C.n(n-1) D. n(n+1)30 某二叉树的前序和后序序列正好相同,则该二叉树一定是( )的二叉树.A. 空或只有一个结点 B. 高度等于其结点数C. 任一结点无左孩子 D. 任一结点无右孩子31 按照二叉树的定义,具有 3 个结

9、点的二叉树有( )种.A. 3 B. 4 C. 5 D. 632 有 64 个节点的完全二叉树的高度为( )(根的层次为 1).A. 8 B. 7 C. 6 D. 533.任何一棵二叉树的叶子结点在先序、中序和后序遍历序列中的相对位置( ).A.不发生变化 B.发生变化 C.不能确定 D.一定发生改变34 在线索二叉树中,结点(*t)没有左子树的充要条件是( ).A. t-left=NULLB. t-ltag=1C.t-ltag=1 inext=p; s-prior=p-prior; p-prior=s; 47 在有 n 个结点无向图中,其边数最多为 .48 按顺序存储方法存储的线性表称为_

10、_, 按链式存储方法存储的线性表称为_ . 49 顺序表相对于链表的优点有 _ _ 和_ _ .50 在 n 个结点的顺序表中删除一个结点需平均 移动 个结点,具体移动次数取51 在 n 个结点的单链表中要删除 p 指结点,需找到其 其时间复杂度为_ _.52 在双链表中每个节点有两个指针域,一个指向 ,另一个指向 . 53 图的遍历是指从图中某一顶点出发访问图中全部顶点且使每一顶点仅被 _ . 54 图的遍历方法有深度优先遍历和_55 图的深度优先搜索方法类似于二叉树的_ _遍历 .56 图的遍历方法有 和广度优先遍历. 57 在有 n 个结点有向图中,其边数最多为 .58. 一个算法的时间

11、复杂度为(5n3+4nlog2n+8n)/(7n),其数量级表示为_ .59 在一棵二叉树中,假定次数为 2 的结点有 12 个,次数为 1 的结点有 7 个,则叶子结点的个数为_60. 下面程序段的时间复杂度是 .61.个无向图中,所有顶点的度数之和等于所有边数 倍.62.单链表表示的链式队列的队头在链表的什么位置 .63. 在顺序表(n 足够大)中进行顺序查找,其查找不成功的平均长度是 .64. 树形结构的特点是:一个结点可以有 .三、应用题1.根据下图给出的二叉树,求出先序遍历、中序遍历和后序遍历的结点序列.2.将下图中的二叉树,转换成相应的森林.3.已知一个图如下所示,若从顶点 0 出

12、发求出其深度优先搜索序列.4.利用普里姆(prim)算法求出下图的最小支撑树.5.应用直接插入排序算法,对键值序列 49,38,65,97,76,13,27,45 从小到大进行排序,试写出每趟排序的结果.6.请给出如下图所示的图的邻接矩阵、邻接表、逆邻接表.7.给定表(45,36,56,6,64,78,8,96),按数据元素在表中的次序构造一棵二叉查找树.8.把下图中的二叉树转化为森林.9. 已知数据序列为49,38,65,97,76,13,对该数据序列进行排序,试写出直接插入排序每趟的结果.10 将表达式(a+b)-c*(d+e)-f)*(g+h)改写成后缀表达式.11.举一对具有相同先根、

13、后根遍历序列的二叉树.12.给定表(45,36,56,6,64,32,8,41),按数据元素在表中的次序构造一棵二叉查找树.13. 设记录的关键字集合 key=51,28,38,86,70,90,7,30,40,25,试写出对 key 进行渐减增量排序(增量 d=5,3,1)时,各趟排序结束后的结果.14. 已知一棵树二叉如下,请分别写出按箭序、中序、后序和层次遍历时得到的结点序列.AB CD E FG H15. 已知一个图如下所示,若从顶点 0 出发分别求出其深度优先搜索序列和广度优先搜索序列.16.已知一棵二叉树的中序和前序序列如下,求该二叉树的后序序列.(6 分)中序序列:c,b,d,e

14、,a,g,i,h,j,f前序序列:a,b,c,d,e,f,g,h,i,j17. 试述顺序存储和链式存储的区别及各自的优缺点.18 请给出如下图所示的权图的邻接矩阵.19.、请构造权值为 5,13,21,7,18,30,41 的哈夫曼树.20.我们已经知道,树的先根序列与其对应的二叉树的先根序列相同,树的后根序列与其对应的二叉树的中根序列相同.那么利用树的先根遍历次序与后根遍历次序,能否唯一确定一棵树?请说明理由.21.写出中缀表达式 A-(B+C/D)*E 的后缀形式.22.设有序顺序表为 10, 20, 30, 40, 50, 60, 70, 80,采用折半查找时,查找成功的平均查找长度是多

15、少?23. 序表(5, 12, 17, 19, 23, 25, 30, 36, 45, 49, 58)中,用二分法查找关键词 36,进行多少次比较后查找成功?写出查找过程. 24.有二叉树先序序列为:ABCDEF,中序序列为:CBAEDF,试画出该二叉树.25.有一棵二叉树如下图所示,分别指出其前序、中序遍历的结点序列.26.对于一个队列,如果输入项序列由 1,2,3,4 所组成,试给出全部可能的输出序列.27. 为什么说树是一种非线性结构?28. 找出所有这样的二叉树形,其结点在先根次序遍历和中根次序遍历下的排列是一样的.29.有个顶点的无向连通图至少有多少条边?有个顶点的有向连通图至少有多

16、少条边?30. 完全二叉树用什么数据结构实现最合适,为什么?31.求出下图所示有向图的邻接表.32.求出下图所示无向图的邻接表.33.用邻接矩阵存储一个包含 1000 个顶点和 1000 条边的图,则该图的邻接矩阵中有多少元素?有多少非零元素?34.画出下图中二叉树的顺序存储结构示意图.四、算法设计题1.设线性表用带头结点的单向链表示,试写出删除表中所有 data 域为零的元素的算法.2.已知非空单链表 head,试设计一个算法,交换 p 所指结点与其后继结点在链表中的位置.3.设一棵二叉树以二叉链表为存储结构,试写一算法求该二叉树上度为 2 的结点个数.4. 试设计一算法,计算带头结点的单链表 head(head 指向表头)的结点个数.5.设一棵二叉树以二叉链表为存储结构,试设计一个算法计算二叉树中叶子结点的个数.6.判断单链表 head(head 指向表头)是否是递增的.7.设一棵二叉树以二叉链表为存储结构,设计一个算法交换二叉树中每个结点的左子女和右子女.8.假设线性表用带表头结点的单向链表 head 表示,试写出删除表中所有 data 域值为 x 的元素的算法.9.设一棵二叉树以二叉链表为存储结构,设计一个算法求此二叉树上度为 1 的结点个数.10. 设计一个算法,在一个单链表 head 中找出值最小的元素.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报