数据结构期末考试试题及答案.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

数据结构期末考试试题

一、选择题(每题3分,共15分)

下列数据结构中,属于非线性结构的是()

A.栈B.队列C.二叉树D.线性表

在一个长度为n的顺序表中,删除第i个元素(1≤i≤n)时,需要向前移动的元素个数是()

A.n-iB.n-i+1C.iD.i-1

栈的操作原则是()

A.先进先出B.后进先出C.随机进出D.以上都不对

已知一棵二叉树的前序遍历序列为ABDECF,中序遍历序列为DBEAFC,则其后续遍历序列为()

A.DEBFCAB.DEFBCAC.DEBCFAD.DEFCBA

在哈希表中,解决冲突的方法不包括()

A.线性探测法B.链地址法C.二分查找法D.二次探测法

二、填空题(每题3分,共15分)

数据的逻辑结构主要有集合、线性结构、()和图状结构四种。

链表中,每个节点包含数据域和()两部分。

队列的两种存储结构分别是顺序队列和()。

对于一棵具有n个节点的完全二叉树,若按层序编号,那么编号为i(1≤i≤n)的节点的左孩子编号为()。

常用的排序算法中,不稳定的排序算法有快速排序、()等。

三、简答题(每题5分,共20分)

简述顺序表和链表的优缺点。

什么是栈?栈有哪些典型应用场景?

简述二叉树的性质。

解释什么是堆排序,并说明其基本思想。

四、应用题(每题15分,共30分)

已知一个线性表(38,25,74,63,52,48),请用快速排序法对该线性表进行排序(要求写出每一趟的排序过程)。

已知图的邻接矩阵如下:

\begin{bmatrix}

01100\\

10011\\

10001\\

01001\\

01110

\end{bmatrix}

(1)画出该图的图形。

(2)求出图中各顶点的度数。

(3)判断该图是否为连通图。

五、算法设计题(20分)

设计一个算法,删除单链表中值等于给定值x的所有节点。要求:

给出算法的基本思想。

用伪代码实现该算法。

分析算法的时间复杂度和空间复杂度。

数据结构期末考试试题答案

一、选择题(每题3分,共15分)

C(解析:栈、队列、线性表均为线性结构,二叉树属于非线性结构)

A(解析:删除第i个元素后,后面的n-i个元素需要向前移动一位)

B(解析:栈是一种后进先出(LIFO)的数据结构)

A(解析:根据前序和中序遍历序列可构建二叉树,进而得到后序遍历序列)

C(解析:二分查找法是查找算法,不是解决哈希冲突的方法)

二、填空题(每题3分,共15分)

树形结构

指针域(或链域)

链式队列

2i(解析:完全二叉树中,若父节点编号为i,左孩子编号为2i,右孩子编号为2i+1,且需满足编号不超过总节点数n)

堆排序(或希尔排序、选择排序等,答案不唯一)

三、简答题(每题5分,共20分)

顺序表优点:可以随机访问元素,存取速度快;存储密度高。缺点:插入和删除操作需要移动大量元素,效率低;初始分配的存储空间可能不足或浪费。

链表优点:插入和删除操作不需要移动元素,只需修改指针,效率高;存储空间可以动态分配,无需预先确定大小。缺点:不能随机访问元素,只能顺序访问,存取速度慢;存储密度低,每个节点需要额外存储指针域。

栈是一种只允许在一端进行插入和删除操作的线性表,允许操作的一端称为栈顶,另一端称为栈底。典型应用场景有:表达式求值、函数调用栈、括号匹配检验、迷宫求解等。

二叉树的性质:

(1)在二叉树的第i层上最多有2^(i-1)个节点(i≥1)。

(2)深度为k的二叉树最多有2^k-1个节点(k≥1)。

(3)对任何一棵二叉树,若其叶子节点数为n0,度为2的节点数为n2,则n0=n2+1。

(4)具有n个节点的完全二叉树的深度为?log?n?+1(或?log?(n+1)?)。

堆排序是一种基于堆这种数据结构的排序算法。基本思想:首先将待排序的序列构造成一个大顶堆(或小顶堆),此时堆顶元素是序列中的最大值(或最小值);将堆顶元素与堆的最后一个元素交换,此时末尾元素就是最大值(或最小值),然后将剩余的n-1个元素重新构造成一个堆,重复上述操作,直到整个序列有序。

四、应用题(每题15分,共30分)

快速排序过程:

初始序列:38,25,74,63,52,48

第一趟(以38为基准):

从后往前找比38小的数,48比38大,继续;52比38大,继续;63

文档评论(0)

151****9429 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档