复旦大学《数据结构》2021-2022学年期末试卷.docxVIP

  • 0
  • 0
  • 约2.18千字
  • 约 4页
  • 2026-01-21 发布于江西
  • 举报

复旦大学《数据结构》2021-2022学年期末试卷.docx

复旦大学

2021-2022学年第一学期

《数据结构》期末考试卷(A)

使用专业、班级学号姓名

题 数 一 二 三 四 总 分

得分

本题得分

一选择题每题1.5分,共计15分〗

1.顺序表不具有的特点是()。

A、可随机访问数据元素

B、插入、删除新元素不需要移动数据元素

C、搜索一个元素的时间复杂度是O(n)

D、在末尾添加元素的时间复杂度是O(1)

2.关于栈和队列的描述正确的是()

A、不能在中间位置插入或删除数据元素;

B、都具有先进后出的特点

C、栈具有先进先出而队列具有后进先出的特点

D、不具有共同点

3.下列代码段的时间复杂度是()。

for(inti=1;i=n;i*=3);

A、O(n) B、O(n/3) C、O(3n)

D、O(log?n) E:O(n3)

4.用不带头结点的链表表示的队列,删除队头元素时

A.仅修改队头指针 B.仅修改队尾指针

C.队头、队尾指针都要修改 D.队头、队尾指针都可能要修改

5.物理结构可以分为哪2类()

考试形式开卷()、闭卷(?),在选项上打(?)

开课教研室命题教师使用学期命题时间

l

A、逻辑结构和存储结构; B、顺序映像和链式映像;

C、基本结构和复合结构 D、线性结构和非线性结构;

6.二叉树第k层的结点个数最多是()

A、k; B、2k; C、2k-1; D、2k+1;

E、2k; F、2k-1; G、2?-1; H、2k+1;

7.有六个元素6,5,4,3,2,1的顺序进栈,问下列哪一个不是合法的出栈序列?

()

A.543612 B.453126 C.346521 D.234156

8.下列哪一种是非线性结构()

A.栈 B.队列

C.线性表 D.二叉树

9.n个顶点的强连通图中,至少有()条边。

A.n-1; B.n

C.n(n-1)/2 D.n(n-1)

10.下列()排序算法的空间复杂度通常是O(n)。

A、选择排序 B、快速排序

C、堆排序 D、归并排序

本题得分

二、填空题每题4分,共计24分】

1.假设顺序表的表示类型为structSList{Tdata,intcapacity,num;},则,则当时表示空间已满,而空表的条件是.

2.在带头结点的双向链表中,结点中的pre和next分别指向其前驱和后继结点,则删除指针p所指结点(假设p-next是非空指针)的代码为.

3.二叉平衡树是。

4.请举例说明,已知二叉树的先序和后序遍历序列,并不能得出唯一的二叉树。例如例如二叉树和二叉树的先序和后序序列都分别是和。

5.循环队列存储在数组A[0..m]中,则入队操作时,rear指示器应修改为。

6.权值是6,10,2,7,9的哈夫曼树的最小带权路径长度是。

总张数教研室主任审核签字

本题

得分 三、应用题【5题,共计41分】

1.(8分)写出Kruskal算法构造图1所示图G的一棵最小生成树的过程,并且画出最后的最小生成树。

2.(9分)写出用Dijkstra算法求图2所示图G中顶点1到其他各顶点的最短路径,并给出执行过程中距离数组D和路径数组P的变化情况。

3.(8分)设散列表为HT[15],散列函数为h(key)=key%15。用线性探测法解决突,对下列关键码序列32,8,27,46,78,23,19,90,83造表,并计算等概率模型下查找成功时的平均查找长度。

4.(8分)请画出图3的邻接矩阵和邻接表表示的存储结构。

5.(8分)用归并排序法对给定关键字序列(17,27,41,31,90,13,22,76,37,40)按升序进行排序,要求写出排序过程。

本题

得分 四、编程题【每题10分,共计20分】

1、在一个从小到大有序的存储实数的链表,编写程序删除重复出现的相同实数(即相同的多个实数只保留一个实数即可)。

structLNode{

Tdata;

2

LNode*next;

};

//假设这是一个带有头结点的链表

voiddelmulti(LNode*head){

//?

}

2、假设数组A[s...m]中除下标s外所有下标都符合大顶堆的性质,请写出将数组A[s...m]重新调整为大顶堆的程序。请补充?处的代码

voidheapadjust(TA[],ints,in

文档评论(0)

1亿VIP精品文档

相关文档