- 0
- 0
- 约2.05千字
- 约 4页
- 2026-01-21 发布于江西
- 举报
东北师范大学考试试卷
课程:数据结构学年学期:2022-2023学年第一学期
考试形式:闭卷 考试时间:120分钟
考试时间120分钟班级学号 姓名
题号
一
二
三
四
五
六
七
八
九
十
成绩
满分
15
20
40
25
100
得分
一、选择题(每题3分,共15分)
1、栈S最多能容纳4个元素。现有6个元素按A、B、C、D、E、F的顺序进栈,问下列哪一个序列是可能的出栈序列?
A.E、D、C、B、A、F B.B、C、E、F、A、D
C.C、B、E、D、A、F D.A、D、F、E、B、C
2、设有关键码序列(Q,G,M,Z,A,N,P,X,H),下面哪一个序列是从上述序列出发建堆的结果?
A.A,G,H,M,N,P,Q,X,Z B.A,G,M,H,Q,N,P,X,Z
C.G,M,Q,A,N,P,X,H,Z D.H,G,M,P,A,N,Q,X,Z
3、设单链表中结点的结构为(data,link)。已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作?
A.s-link=p;p-link=s; B.s-link=p-link;p-link=s;
C.s-link=p-link;p=s; D.p-link=s;s-link=p;
4、以下哪一个术语与数据的存储结构无关?
A.栈 B.散列表 C.穿线树 D.双链表
5、设单循环链表中结点的结构为(data,link),且rear是指向非空的带表头结点的单循环链表的尾结点的指针。若想删除链表第一个结点,则应执行下列哪一个操作?()
A.s=rear;rear=rear-link;free(s);
B.rear=rear-link;free(rear);
C.rear=rear-link-link;free(rear);
D.s=rear-link-link=s-link;rear-link-link;free(s);
二、构造题(每题10分,共20分)
6、设有关键码序列(Q,G,M,Z,A,N,P,X,H),将其筛选为一个堆序列。
7、如下所示的连通图,请画出
(1)以顶点①为根的深度优先生成树;
(2)如果有关节点,请找出所有的关节点。
三、综合算法题(每题20分,共40分)
8、设有一个表头指针为h的单链表。试设计一个算法,通过遍历一趟链表,将链表中所有结点的链接方向逆转,如下图所示。要求逆转结果链表的表头指针h指向原链表的最后一个结点。
9、有一种简单的排序算法,叫做计数排序(countSorting)。这种排序算法对一个待排序的表(用数组表示)进行排序,并将排序结果存放到另一个新的表中。必须注意的是,表中所有待排序的关键码互不相同。计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键码比该记录的关键码小。假设针对某一个记录,统计出的计数值为c,那么,这个记录在新的有序表中的合适的存放位置即为C。
(1)给出适用于计数排序的数据表定义:(6分)
(2)使用C++语言编写实现计数排序的算法:(8分)
(3)对于有n个记录的表,关键码比较次数是多少?(6分)
四、综合题(25分)
10、本题给出一个施加于链表的选择排序的算法。算法中用到一个临时的表头结点head,作为结果链表的表头结点,每次从first链上摘下的值最大的结点current链入head之后。算法结束前,将head删除。
templateclassTypevoidListType::ListSelectSort(){
ListNodeType*head=newListNodeType(),*current,*pre,p,q;
inti=0;
while( ① ){
p=current=first;q=NULL;
while(p!=NULL){
if ② )
(p→data
{pre=q;current=p;}
q=p;p=p→link;
}
if(current== ③ ;
first)
elsepre→link=current→link;
if(!i)last=current;
current→link;
;
head→link;
}
first=head→link; deletehead;
}
(1)请将缺失的语句部分补上:
﹁
?
(2)设待排序的记录数n=7,当排序前各记录关键码的初始链接顺序为40,20,60,30,70,50,80,试根据上述算
您可能关注的文档
- 2023年重庆大学《数据结构》期末练习题1.docx
- 2023年重庆大学《数据结构》期末练习题3.docx
- 安徽大学《数据结构》2017-2018学年期末试卷.docx
- 安徽大学《数据结构》2018-2019学年期末试卷.docx
- 安徽大学《数据结构》2019-2020学年期末试卷.docx
- 安徽大学《数据结构》2020-2021学年期末试卷.docx
- 安徽大学《数据结构》2021-2022学年期末试卷.docx
- 安徽大学《运筹学》2018-2019学年期末试卷.docx
- 北京大学《数据结构》2022-2023学年期末试卷.docx
- 北京大学《数据结构与算法》2018-2019学年 期末试卷.docx
原创力文档

文档评论(0)