- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
数据结构期末考试题
一、选择题(每题2分,共20分)
下列关于数据结构的描述,正确的是()
A.数据结构仅研究数据的逻辑结构
B.数据结构仅研究数据的存储结构
C.数据结构不包含数据的运算
D.数据结构研究数据的逻辑结构、存储结构及运算
线性表若采用链式存储结构,其优点是()
A.便于随机访问
B.存储空间利用率高
C.插入、删除操作无需移动大量元素
D.查找效率高
栈的操作特性是()
A.先进先出
B.后进先出
C.随机存取
D.循环存取
队列常用于解决的问题是()
A.表达式求值
B.函数调用
C.递归问题
D.缓冲区数据处理
已知二叉树的前序遍历序列为ABCDE,中序遍历序列为BADCE,则后序遍历序列为()
A.BEDCA
B.BDECA
C.BDECA
D.BEDAC
无向图中,所有顶点的度数之和与边数的关系是()
A.度数之和等于边数
B.度数之和等于边数的2倍
C.度数之和等于边数的一半
D.无固定关系
折半查找(二分查找)适用于()
A.无序线性表
B.有序线性表(顺序存储)
C.有序线性表(链式存储)
D.所有线性表
下列排序算法中,平均时间复杂度为O(nlog?n)的是()
A.冒泡排序
B.直接插入排序
C.快速排序
D.简单选择排序
堆排序的最坏时间复杂度是()
A.O(n)
B.O(n2)
C.O(nlog?n)
D.O(log?n)
哈希表(散列表)中,“冲突”指的是()
A.两个不同的关键字映射到相同的哈希地址
B.哈希表溢出
C.哈希函数计算错误
D.关键字不存在于哈希表中
二、填空题(每空1分,共20分)
线性表的顺序存储结构中,若每个元素占4个字节,基地址为100,则第5个元素的存储地址为______。
栈的基本操作包括入栈(Push)和______(Pop)。
循环队列的队满条件是______(用front、rear、maxsize表示,设front指向队头,rear指向队尾下一个位置)。
二叉树中,若叶子节点数为n?,度为2的节点数为n?,则n?与n?的关系是______。
一棵深度为k的完全二叉树,至少有______个节点。
图的邻接矩阵存储中,无向图的邻接矩阵具有______性。
从图中某一顶点出发,访问完所有顶点且每个顶点仅访问一次的过程称为______。
哈希函数的构造方法中,常用的除留余数法公式为______(设关键字为key,哈希表长度为m)。
冒泡排序在最好情况下(待排序序列已有序)的比较次数为______。
线索二叉树的作用是______,以提高遍历效率。
单链表中,在表头插入节点的时间复杂度为______。
队列的链式存储结构称为______,通常包含队头和队尾两个指针。
二叉树的中序遍历序列为左子树、______、右子树。
有向图中,顶点的入度是指______。
顺序查找的平均查找长度为______(设表长为n,元素查找概率相等)。
平衡二叉树(AVL树)中,任意节点的左右子树高度差的绝对值不超过______。
栈的链式存储结构称为______,无需预先分配存储空间。
图的深度优先遍历(DFS)通常采用______数据结构实现。
直接插入排序的基本思想是______。
哈希表的负载因子α等于______与哈希表长度的比值。
三、简答题(每题5分,共30分)
简述顺序表与单链表的主要区别(从存储方式、操作效率、空间利用率三个方面说明)。
什么是栈的“上溢”和“下溢”?如何避免栈的上溢?
画出具有3个节点的所有二叉树,并写出它们的前序遍历序列。
简述图的邻接表存储结构的特点(优缺点各列举2点)。
解释平衡二叉树的定义,并说明为什么要构建平衡二叉树。
比较冒泡排序与快速排序的异同(从排序思想、时间复杂度、稳定性三个方面分析)。
四、算法设计题(每题15分,共30分)
设计一个算法,实现单链表的逆置(要求:给出算法思路,并用C语言风格代码实现,链表节点结构定义为typedefstructNode{intdata;structNode*next;}Node;)。
设计一个递归算法,计算二叉树的深度(要求:给出算法思路,并用C语言风格代码实现,二叉树节点结构定义为typedefstructBiTNode{chardata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;)。
数据结构期末考试题答案
一、选择题(每题2分,共20分)
D(解析:数据结构的核心
文档评论(0)