2025年南京信息工程大学期中试卷附答案.docxVIP

2025年南京信息工程大学期中试卷附答案.docx

  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文档。上传文档
查看更多

2025年南京信息工程大学期中试卷附答案

一、单项选择题(每题2分,共20分)

1.下列关于线性表的描述中,正确的是()。

A.顺序表的插入操作时间复杂度一定为O(n)

B.链表的节点必须包含指针域

C.顺序表可以通过下标直接访问元素

D.链表的存储空间一定是不连续的

2.若一个栈的输入序列是1,2,3,4,5,输出序列为3,2,5,4,1,则栈的大小至少需要()。

A.2B.3C.4D.5

3.已知循环队列的存储空间为数组Q[0..m-1],初始时front=rear=0。当完成一系列入队和出队操作后,front=20,rear=15,若队列的最大容量为m=50,则此时队列中的元素个数为()。

A.5B.35C.45D.15

4.对于一棵深度为h的满二叉树(根节点深度为1),其叶子节点数为()。

A.2^(h-1)B.2^h-1C.hD.2h

5.对关键字序列{55,32,41,77,63,28}进行冒泡排序(升序),第一趟排序后得到的序列是()。

A.{32,41,55,63,28,77}B.{32,55,41,63,28,77}

C.{32,41,55,28,63,77}D.{32,55,41,28,63,77}

6.哈希表的平均查找长度与()无关。

A.哈希函数B.处理冲突的方法C.装填因子D.表长

7.下列排序算法中,不稳定的是()。

A.插入排序B.归并排序C.冒泡排序D.快速排序

8.对于n个节点的无向图,若该图是连通图,则其边数至少为()。

A.n-1B.nC.n(n-1)/2D.2n

9.若某二叉树的前序遍历序列为ABDECFG,中序遍历序列为DBEAFCG,则后序遍历序列为()。

A.DEBFGCAB.DEBFCGAC.DEBFGACD.DEBFAGC

10.已知一个单链表的头指针为head,若要在第k个节点前插入一个新节点(k1),则需要修改()个指针。

A.1B.2C.3D.4

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

1.一个栈的输入序列为a,b,c,d,e,若输出序列的第一个元素是c,则第三个输出元素可能是________(写出一个即可)。

2.对于完全二叉树,若某节点的编号为i(根节点编号为1),则其左孩子的编号为________。

3.对序列{25,18,30,12,40,20}进行简单选择排序(升序),第三趟排序后序列为________。

4.已知一个哈希表的长度为10,哈希函数为H(key)=key%7,采用线性探测法处理冲突。若依次插入关键字15,3,22,14,则关键字14的存储位置是________(下标从0开始)。

5.对于有向图的拓扑排序,其结果可能不唯一的原因是________。

三、简答题(每题10分,共30分)

1.简述顺序表和链表在存储结构、插入/删除操作、随机访问上的优缺点。

2.说明快速排序的基本思想,并分析其平均时间复杂度和最坏时间复杂度。

3.已知一棵二叉树的中序遍历序列为DGBEACHF,后序遍历序列为GDBEHFCA。

(1)画出该二叉树的结构;

(2)写出其前序遍历序列。

四、算法设计题(第1题15分,第2题20分,共35分)

1.设计一个算法,将一个带头节点的单链表L逆置(即原链表为a1→a2→…→an,逆置后为an→…→a2→a1)。要求用伪代码描述,并分析时间复杂度。

2.已知一个数组存储了n个整数(可能包含重复元素),设计一个高效算法找出其中出现次数超过n/2的元素(称为主元素)。要求:

(1)说明算法的基本思路;

(2)用伪代码实现;

(3)分析时间复杂度和空间复杂度。

答案

一、单项选择题

1.C(顺序表支持随机访问;顺序表插入在末尾时时间复杂度为O(1),A错误;链表节点可能包含其他信息,指针域非必须,B错误;链表存储空间通常不连续,但静态链表用数组实现,存储空间连续,D错误)

2.B(分析操作序列:1入,2入,3入→3出,2出→此时栈中剩1;4入,5入→5出,4出→1出。栈的最大容量在3入时为3,故至少需要3)

3.C(循环队列元素个数计算:(rear-front+m)%m=(15-20+50)%50=45)

4.A(满二叉树第h层的节点数为2^(h-1),即叶子节点数)

5.C(冒泡排序每趟将最大元素“冒”到末尾。原序列:55,32,41,7

文档评论(0)

小武哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档