暨南大学2018考研真题之830数据结构

合集下载

2016年暨南大学数据结构考研试题答案

2016年暨南大学数据结构考研试题答案
}
void traverse(Tree T,int deepth,int &ans){//递归遍历二叉树,累加计算带权路径长度
if(T == NULL) return;
if(T->lchild == NULL && T->rchild == NULL){
ans += T->weight*deepth;
7. X
8. √
9. √
10. X
四、
简答题
1. (1)画出二叉树如下:
(2)将该数转换为森林得:
2. 画出散列之后的 hash 表得:
0
1
48
71
2
3
4
5
6
7
8
9
23
73
14
55
33
43
89
成功查找的平均查找长度为:(1+1+2+2+2+1+5+6+3)/7=23/7
3. 平衡二叉树构造过程如下:
五、
算法填空
1. (1)p->next=L->next
(2)L->next=p
2.
(3)T->lchild
(4)p=p->lchild
(5)p->rchild!=T
(6)p=p->rchild
(7)p=p->rchild
3. (8)T==NULL
(9)T->lchid
(10)T->rchild
六、编写算法
a[low]=a[high];
while(low<high&&a[low]<key])

数据结构暨南大学期末试卷试题

数据结构暨南大学期末试卷试题

数据结构暨南大学期末试卷试题一、判断题(共10分)1. 当静态链表采用数组实现时,插入与删除操作仍需移动元素。

2. 栈也是一种线性表,也同样有顺序存储结构和链式存储结构。

3. 二叉树的三种遍历算法区别仅在于对树根、左右子树访问先后顺序的不同。

4. 邻接表是图的一种顺序存储结构。

5. 二叉树就是度数为2的树。

6. 在哈希表中勿需比较就可找到记录在表中的位置。

7. 线性表的链式存储结构既方便其存取操作,也方便其插入与删除操作。

8. 顺序存储结构既适合于完全二叉树,也同样适合于一般的二叉树。

9.一个算法是正确的、高效率的,还不能说它就是一个“好”的算法。

10. 快速排序与堆排序的平均时间复杂度相同。

二、概念填空(共20分,每题2分)1.对顺序存储结构的线性表,设表长为La;在各元素插入为等概率条件下,插入一个数据元素需平均移动表中元素_______ 个;在最坏情况下需移动表中元素_______ 个。

2.从逻辑角度看,四种基本的数据结构可分为__________、___________、____________和____________;两种存储结构为_____________和_________________。

3.一个深度为,的满k(k>2)叉树,其第i层(若存在)有________个结点;编号为p(p>1)的结点其父结点(父结点为非根结点)编号是___________________。

4.具有n个结点的完全二叉树的深度为____________;编号为p(<n)的结点其右孩子(若存在)结点编号是___________。

5.堆栈被称为一个_____________的线性表;队列被称为一个_____________的线性表。

6.静态查找表的查找方法主要有:有序表查找及________________________;在n个记录中进行折半查找,当查找不成功时,与关键字比较次数最多为_____________________。

暨南大学2020年《830数据结构》考研专业课真题试卷

暨南大学2020年《830数据结构》考研专业课真题试卷

D. p=p->prev; p->next=p->next->next; p->next->prev=p;
15. 在一个具有 V 个顶点的有向连通图中,若所有顶点的入度数之和为 N,所有顶点的出度
之和为 M,则以下说法正确的是( )。
A.V=(M+N)/2
B.M>V
C.M=N
D.N>V
二、填空题(每空 2 分,共 20 分)
A. 64WS3
B. 4W36S
C. 6W34S
D. WS436
6. 在管理城市道路交通网络据时,最适合采用( )数据结构来对其进行存储。
A.有向图
B.无向图
C.树
D.矩阵
7. 具有 k 个顶点的完全有向图的边数为( )。
A. k(k-1)
B. k(k-1)/2
C. k2-1
D. k2+1
8. 若线性表最常用的操作是增加或者删除某个元素, 则采用( )存储方式节省时间.
D. 采用更好的地址冲突解决方法
11. 以下数据结构中哪一个是非线性结构?( )
A. 队列
B. 栈
C. 线性表
D. 二叉树
12. 对于一个整数集合{11,37,29,55,80,46,73,17}进行散列存储时,若选用函数
H(K)= K %9 作为散列(哈希)函数,则散列地址为 1 的元素有( )个。
A. 2h
B. 2h-1
C. 2h+1
D. 2h-1
3. 用单向链表来实现容量为 n 的堆栈时,链表头指针指向堆栈顶部元素,链表尾指针指向堆
栈底部元素,则以下说法错误的是( )
A. 入栈操作的复杂度为 O(1)

2018年计算机408统考真题解析

2018年计算机408统考真题解析

由此可知,左子树为o,右子树为1,故答案为A 。

6.解析:根据二叉排序树的特性:中序遍历(LNR)得到的是一个递增序列。

图中二叉排序树的中序遍历序列为Xi ,X3, X 5, X 4, X 2, 可知X3<�5<X407.解析:拓扑排序每次选取入度为0的结点输出,经观察不难发现拓扑序列前两位一定是1,5或5, 1 (因为只有1和5的入度均为o,且其他结点都不满足仅有1或仅有5作为前驱)。

因此D 显然错误。

8.解析:m阶B树的基本性质:根结点以外的非叶结点最少含有「m/21-1个关键字,代入m =3得到每个非叶结点中最少包含1个关键字,而根结点含有1个关键字,因此所有非叶结点都有两个孩子。

此时其树形与h =5的满二叉树相同,可求得关键字最少为31个。

9.解析:根据题意,得到的HT如下:二2 34 5 643 15ASL 成功(1 + 2 + 3)/3 = 2。

10.解析:初始序列:8, 3, 9, 11, 2, 1, 4, 7, 5, 10, 6第一趟:1, 3, 7, 5, 2, 6, 4, 9, 11, 10, 8第二趟:I I I I I I I I I I I1, 2, 6, 4, 3, 7, 5, 8, 11, 10, 9 I I I I I I I I I I I第一趟分组:8, 1, 6; 3, 4; 9, 7; 11, 5; 2,.10; 间隔为5,排序后组内递增。

第二趟分组:1,5,4,10; 3,2,9,8; 7,6,11; 间隔为3,排序后组内递增。

故答案选D 。

11.解析:要熟练掌握建堆、堆的调整方法,从序列末尾开始向前遍历,变换过程如下图所示。

6)� 6')'/.)一5�气;。

\三12. 解析:对于I,二进制由千只有0,1两种数值,运算规则较简单,都是通过A LU部件转换成加法运算。

对于II,二进制只需要高电平和低电平两个状态就可以表示,这样的物理器件很容易制造。

暨南大学硕士研究生统一入学考试自命题试题(网络空间安全)

暨南大学硕士研究生统一入学考试自命题试题(网络空间安全)

暨南大学硕士研究生统一入学考试自命题试题(网络空间安全)******************************************************************************************** 学科、专业名称:网络空间安全研究方向:网络空间安全083900四、简答题(40分)1. 简述逻辑结构的四种基本关系并画出它们的关系图。

(10分)2. 设待排序的关键字序列为{12,2,16,30,28,10,16*,20,6,18} ,请写出二路归并排序的方法下,每趟排序结束后关键字序列的状态。

(6分)3. 设二维数组num[1….m, 1…n]含有m*n个整数,请分析判断数组中元素是否互不相同的算法的时间复杂度。

(8分)4. 已知图1所示的有向图,请给出(1)每个顶点的入度与出度;(2)邻接矩阵。

(10分)图1. 有向图5. 在一棵空的二叉排列树中依次插入关键字序列为12,7,17,11,16,2,13,9,21,4,请画出所得到的二叉排列树。

(6分)五、算法填空(共2小题,每空2分,共20分)1. 在汉诺塔(hanoi tower)游戏中,总共有3根柱子和n个大小不一样的盘子。

初始状态时n 个盘子从小到大堆叠在1号柱子,下面的递归算法伪代码能够将这n个盘子从1号柱子移动到3号柱子。

其中,该递归算法满足以下条件:(1)每次只移动1个盘子,(2)任何一个盘子只有当它上面没有堆放盘子时才能移动,(3)任何时刻在任何一个柱子上永远不能出现大盘子堆在小盘子之上的情况。

请在_________处填上适当内容,使其成为一个完整的算法。

hanoi(from, tmp, to, n){ if(n==1){move( (1) , (2) );return;}hanoi( (3) );printf ( "(%d,%d)", from, to );hanoi( (4) );return;}。

暨南大学计算机830数据结构2015年真题

暨南大学计算机830数据结构2015年真题
4.下面程序段的时间复杂度是。
S=0;
for( i=0;i<N; i++)
for(j=0; j<2N+1; j++)
S++;
5.深度为h的满二叉树共有个结点。
6.一棵m阶非空B-树,每个结点最多有棵子树,除根之外的所有非终端结点至少有棵子树。
7.在单链表中,若要在指针p所指结点后插入指针s所指结点,则需要执行下列两条语句:。
A.n-i B.n-i-1 C.n-i+1 D.不确定
3.已知单链表上一结点的指针为p,则删除该结点后继的正确操作语句是()。
A.s= p->next; p=p->next; free(s);B.p=p->next; free(p);
C.s= p->next; p->next=s->next; free(s);D.p=p->next; free(p->next);
A. n-1 B. 2n-1 C. n+1 D. 2n+1
10.在内部排序中,排序时不稳定的有()。
A.插入排序B.冒泡排序C.快速排序D.归并排序
11.一个具有500个结点的完全二叉树具有一个孩子的结点个数最多为()。
A.1 B.250 C.0 D.249
考试科目:数据结构共5页,第1页
12.从未排序序列中取出一个元素,并将其依次插入已排序序列的方法,称为()。
if (!visited[w])⑩;
}
考试科目:数据结构共5页,第4页
六.编写算法(25分)
1.已知线性表中的元素按值递增有序排列,并以带头结点的单链表作存储结构。试编写算法,删除表中所有值大于x且小于y的元素(若表中存在这样的元素),同时释放被删除结点空间。(10分)

暨南大学848计算机基础综合专业课考研真题(2020年)

暨南大学848计算机基础综合专业课考研真题(2020年)

有关。
5.在哈希查找方法中,要解决两方面的问题,它们是

6. 循环队列中,Q.rear == Q.front表示循环队列空,表示循环队列满的条件是
。 。
三、 简答题(共 3 小题,每题 7 分,共 21 分) 1. 将下面的森林转换为二叉树(3 分),并给出该二叉树的中序线索链表(4 分)。
A
C
G
B
不付韶华 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 0 1 0
四、 编写算法(共 2 小题,每题 10 分,共 20 分) 1. 试编写一个算法完成下面的功能:对于输入的任意一个非负十进制整数,输出与其等值的 八进制数。(10 分)
2. 试编写一个算法,在有向图 G 中,判定从顶点 Vi 到顶点 Vj 是否有通路。(10 分)
081203、电子信息(专业学位) 085400
考试科目名称及代码:计算机基础综合 848
考生注意:所有答案必须写在答题纸(卷)上,写在本试题上一律不给分。
第一部分 数据结构(75 分)
一、 单项选择题(每题 2 分,共 20 分)
1. 含有 m 个结点的二叉树链式存储结构中空指针的个数为 ( )。
二、 填空题(每空 2 分,共 14 分)
1. 已知一棵二叉树的中序遍历序列为GDHBAECIF,后序遍历序列为GHDBEIFCA,那么先序遍历序
列为

2. 若某记录的关键字序列是(491,77,572,16,996,101,863,258,689,325),以第一
个关键字为枢轴,写出采用快速排序算法第一趟排序的结果
E
F
D
H
2. 设 Huffman 编码的长度不超过 4,若已对两个字符编码为 01 和 11,则最多还可以对多少个

830数据结构2010-2016真题答案(有错)

830数据结构2010-2016真题答案(有错)

2 010参考答案一、 选择题1 1 1 .B 2.A 3.C 4.A 5.D 6.A 7.B 8.A 9.C 10.C1.B 12.C 13.A 14.C 15.B 16.D 17.D 18.D 19.A 20.A5 解释:线索二叉树中某结点是否有左孩子,不能通过左指针域是否为空来判 断,而要判断左标志是否为 1。

二、 填空题1 2 3 .归并排序。

. 能否将关键字均匀影射到哈希空间上.一端 先进后出有无好的解决冲突的方法4 5 6 7 8 9 . 顺序存储或链式存储 (1+n )/2.从任意节点出发都能访问到整个链表.时间 空间.n-1 n(n-1)/2.2n-1.n n三、 判断题 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 .F.F 非空才成立.F 有向的非强连通图,不成立.T.F 表头没有前驱,表尾没有后序.T.F 先序跟后序不行,中序才行.T.F 不可能0.T1.F2.T3.F4.F5.F四、 应用题1 .逻辑结构是从操作对象抽象出来的数学模型,结构定义中的“关系”描述的 是数据元素之间的逻辑关系;物理结构是数据结构在计算机中的表示(又称 映像),又称存储结构。

物理结构是指数据具体存放在哪个位置,逻辑结构是 指数据跟数据间是怎样联系的2 3.由 AOV 网构造拓扑序列的拓扑排序算法主要是循环执行以下两步,直到不存 在入度为 0的顶点为止。

(1) 选择一个入度为 0的顶点并输出之;(2) 从网 中删除此顶点及所有出边。

拓扑序列 1:abcdef 拓扑序列 2:adbcef.二叉树图如下:4 5 .略。

已经不纳入考纲.哈夫曼编码问题编码: 3: 000020: 10 10: 0001 22: 11 18: 001 37: 016.二叉排序树问题比根节点小的往左子树插,大的往右子树插。

图如下:删除50有两种做法:《数据结构》中的解析这里我用第二种做法:五.算法设计题1 & .算法填空(L.elem[i-1]) L.length-1 ++p *p L.length-1;2. 设计算法: 输入 n 个元素的值 创建带头结点的单链线性表 L 。

暨南大学考研专业详解

暨南大学考研专业详解

暨南大学考研全攻略一、暨南大学的前世今生。

“暨南”二字出自《尚书·禹贡》篇:“东渐于海,西被于流沙,朔南暨,声教讫于四海。

”意即面向南洋,将中华文化远播到五洲四海。

学校的前身是1906年清政府创立于南京的暨南学堂。

后迁至上海,1927年更名为国立暨南大学。

抗日战争期间,迁址福建建阳。

1946年迁回上海。

1949年8月合并于复旦、交通等大学,1958年在广州重建。

现如今暨南大学,位于广东省广州市,是中国第一所由国家创办的华侨学府,是中央部属高校、全国重点大学,直属“国务院侨务办公室”领导,被誉为“中国第一侨校”。

学校是国家“211工程”、"985平台“重点建设大学。

国家“双一流”世界一流学科建设高校。

学校有国家二级重点学科4个、国侨办重点学科8个、国家中医药管理局重点学科2个、广东省一级学科重点学科20个、广东省二级学科重点学科4个。

工程学、化学、临床医学、药理学与毒理学、材料科学、生物学与生物化学、农业科学、环境科学与生态学8个学科进入ESI世界排名前1%。

二、暨南大学好考吗?首先从地理位置来看暨大位于我国三大经济圈的珠三角的中心,导致大量考生蜂拥而至,而且从高校密度而言相对长三角以华东五虎(复旦、上交、南大、浙大、中科大)为首下面还有很多211,以及环渤海光北京的高校就有二十几所211。

然而珠三角只有中山大学,华南理工,暨南大学,华南师范。

所以暨大就成为很多想在珠三角发展同学们的首选。

然后学科实力上,像金融,会计,新传这样的考研热门专业,暨大的学科排名都是非常靠前的,而且因为是华侨学校也有很多对外交流的机会,所以吸引很多同学报考。

三、各院系考研详情。

1.经济学院暨大的经济学院是实力是非常强的,近年学院柔性引进耶鲁大学等境外著名高校的学者19人,其中美国人文与科学院院士1人。

另有诺贝尔经济学奖得主费因•基德兰德受聘为名誉教授(詹姆斯•莫里斯)。

特别是金融学属于国家级重点学科。

暨南大学2019年招收攻读硕士学位研究生入学考试试题数据结构830

暨南大学2019年招收攻读硕士学位研究生入学考试试题数据结构830

2019年全国硕士研究生统一入学考试自命题试题(A卷)********************************************************************************************招生专业与代码:计算机科学与技术、软件工程、网络空间安全、工程硕士研究方向:计算机系统结构081201,计算机软件与理论081202,计算机应用技术081203,软件工程083500,计算机技术(专业学位) 085211,网络空间安全083900考生注意:所有答案必须写在答题纸(卷)上,写在本试题上一律不给分。

一、单项选择题(每题2分,共30分)1. 在任意一棵二叉树的先序序列和后序序列中,各叶子之间的相对次序关系( )。

A.不一定相同 B.互为逆序C.都不相同D.都相同2. 深度为4的二叉树至多有结点数为()。

A. 18B. 14C. 15D.163. 在一个具有n个顶点的有向图中,若所有顶点的入度数之和为m,则所有顶点的度数之和为()。

A.m B.m-1 C.m+1 D.2m4. 快速排序在( )情况下最不利于发挥其长处。

A. 被排序的数据量太大.B. 被排序数据中含有多个相同的关键字C. 被排序的数据完全无序D. 被排序的数据已基本有序5. 一组记录的关键字为(45,80,55,40,42,85), 则利用堆排序的方法建立的初始堆为()。

A. (80,45,55,40,42,85)B. (85,80,55,40,42,45)C. (85,80,55,45,42,40)D. (85,55,80,42,45,40)6. 对有18个元素的有序表(下标为1~18)作折半查找,则查找A[3]的比较序列的下标为( )。

A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,37. 具有n个顶点的完全有向图的边数为( )。

A. n(n-1)/2B. n(n-1)C. n2D. n2-18. 利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排序树以后,查找元素35要进行()。

833“计算机学科专业基础综合”复习参考提纲 .doc

833“计算机学科专业基础综合”复习参考提纲 .doc

833“计算机学科专业基础综合”复习参考提纲一、考察目标计算机学科专业基础综合考试涵盖数据结构和计算机组织与体系结构等学科专业基础课程。

要求考生比较系统地掌握上述专业基础课程的基本概念、基本原理和基本方法,能够综合运用所学的基本原理和基本方法分析、判断和解决有关理论问题和实际问题。

二、考试形式和试卷结构1、试卷满分及考试时间:本试卷满分为150,考试时间为180分钟2、答题方式:闭卷,笔试3、试卷内容结构:数据结构75分、计算机组织与体系结构75分三、考察范围数据结构:【总体要求】“数据结构”要求学生掌握数据结构的基本理论和基本方法,使学生具备基本的数据结构分析、设计、求解实际问题的能力。

要求掌握数据结构的基本概念、基本原理和基本方法;掌握线性表、树与二叉树、图的逻辑结构、物理结构、基本操作,以及基本操作在不同的物理结构上的实现,并能够对操作算法进行基本的时间复杂度和空间复杂度进行分析;掌握基本的查找和排序方法,并能够利用这些方法对实际问题进行分析和求解,具备采用C或C++或JA V A语言设计与实现算法的能力。

(一)数据结构基本概念1.复习内容数据结构、算法的基本定义,数据结构的逻辑结构和物理结构,算法的性能评价方法。

2.具体要求数据结构的定义数据结构的逻辑结构数据结构的物理结构算法的概念和算法的性能评价(二)线性表1.复习内容线性表的概念和基本运算,线性表的顺序存储和链式存储,线性表的基本运算在顺序存储和链式存储结构上的实现。

2.具体要求线性表的概念和基本运算线性表的顺序存储线性表的链式存储线性表的应用(三)栈和队列1.复习内容栈和队列的基本概念、基本操作和存储结构。

2.具体要求栈和队列的基本概念和基本操作栈和队列的顺序存储结构栈和队列的链式存储结构栈和队列的应用(四)串1.复习内容串的基本概念、存储结构和模式匹配算法2.具体要求串的基本概念和基本操作串的顺序存储结构串的链式存储结构模式匹配算法(五)数组和广义表1.复习内容数组和广义表的基本概念、数组的顺序存储和特殊矩阵的压缩存储。

考研真题:广东暨南大学2022年[计算机基础综合]考试真题

考研真题:广东暨南大学2022年[计算机基础综合]考试真题

考研真题:暨南大学2022年[计算机基础综合]考试真题第一部分数据结构一、单项选择题1.含有m个结点的二叉树链式存储结构中空指针的个数为( )。

A.2mB.m-1C.m+1D.m2.下列排序算法中元素的移动次数和关键字的初始排列次序无关的是( )。

A.快速排序B.插入排序C.选择排序D.希尔排序3.一个栈的进栈序列是abcde,则栈的输出序列不可能的是( )。

A.abcdeB.edcbaC.decbaD.dceab4.需要的辅助空间最多的排序算法为( )。

A.归并排序B.快速排序C.基数排序D.堆排序5.哈希表的平均查找长度说法错误的是( )。

A.与处理冲突方法有关而与表的长度无关B.与选用的哈希函数有关C.与哈希表的饱和程度有关D.与表中填入的记录数有关6.有n个顶点、e条边且使用了邻接表存储的有向图进行深度优先遍历,其算法的时间复杂度是( )。

A.O(n+e)B.O(n2)C.O(n+2e)D.O(n*e)7.已知一个长度为11的顺序表,其元素按关键字有序排列,若采用折半查找查找一个其中不存存在的元素,则关键字的比较次数最多是( )。

A.3B.4C.5D.68.一棵完全二叉树上有3001个结点,其中叶子结点的个数是( )。

A.1500B.1501C.1000D.10019.若一棵二叉树度为2的结点有18个,度为1的结点有10个,则度为0的结点个数是( )。

A.46B.28C.19D.1710.m阶B-树是一棵( )。

A.m叉排序树B.m-1叉平衡排序树C.m叉平衡排序树D.m+1叉平衡排序树二、填空题1.已知一棵二叉树的中序遍历序列为GDHBAECIF,后序遍历序列为GHDBEIFCA,那么先序遍历序序列为。

2.若某记录的关键字序列是(491,77,572,16,996,101,863,258,689,325),以第一个关键字为枢轴,写出采用快速排序算法第一趟排序的结果。

3.将对称矩阵A[8][8]的下三角部分逐行存储到起始地址为2000的内存单元中,已知每个元素占4个单元,假设第一个元素是A[0][0],则A[4][6]的地址是。

2023年暨南大学《848-计算机基础综合》考研真题

2023年暨南大学《848-计算机基础综合》考研真题
11-20 数据结构部分 11. 在一棵二叉树中,中序遍历的第一个结点,是二叉树的最左下结点。 12. 顺序表查找指的是在顺序存储结构上进行查找。 13. 已知一颗二叉树的先序序列和后序序列,一定能构造出该树。 14. 在一棵树中,堂兄弟的双亲是兄弟关系。 15. 不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”情况。 16. 冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。 17. 分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。 18. 一个图按广度优先遍历的结果是唯一的。 19. 由树转化为二叉树,该二叉树的右子树不一定为空。 20. 无向图的邻接矩阵是对称的,因此可只存储矩阵的下三角阵。
C. i = 1, j = 1
D. i = 2, j = 2
24. 对于整型数组 a[8]和 b[8],下列说法正确的是哪一项( )
A. a = b 是合法的 C. 赋值表达式*(a + 1) = *(b + 2)是合法的
B. 表达式 a + 1 和 a + 2 不能比较大小 D. a 和&(*(a))的值不同
C. 17_num
D. _1000_a
22. 已定义整型变量 i = 5,j = 9,那么整型变量 int k = i / 4 + 1.1 * j 的值是多少?( )
A. 9
B. 10
23. 下列程序的输出是什么?( )
C. 11
D. 12
考试科目:计算机基础综合
共 7 页,第 2 页
#include <stdio.h> void swap(int p1, int p2) {
5. 分布式操作系统与网络操作系统本质上的不同在于( )。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

暨南大学2018考研真题之830数据结构考生注意:所有答案必须写在答题纸(卷)上,写在本试题上一律不给分。

一、单项选择题(每题2分,共30分)1. 任何一棵二叉树T, 如果度为1的结点数为2,度为0结点数为11,其分支数为( ) 。

A. 23B. 22C. 24D. 212. 深度为k的二叉树至多有( ) 个结点(k>=1);A. 2kB. 2k-1C. 2k+1D.2k-13. 已知一棵二叉树结点的中序序列为BDCEAFHG, 后序序列为DECBHGFA, 则结点的先序序列为( ) 。

A. ABCDEFGHB. DGBFHCAC. DECBGFAHD. CAFHGDB4. 在有向图的逆邻接表存储结构中,顶点v在表结点中出现的次数是()。

A. 顶点V的度B. 顶点V的出度C. 顶点V的入度D. 依附于顶点V的边数5. 顺序栈s的GetTop(s, e)操作是用e返回s的栈顶元素,则下列( )是正确的操作。

A. e=*(s.top)B. e=*(s.top-1)C. e=*(--s.top)D. e=s.top-16. 若线性表最常用的操作是存取第i个元素及其前趋的值, 则采用( )存储方式节省时间.A. 单链表B. 双链表C. 单循环链表D. 顺序表7. 在一棵非空m阶的B-树上,除根之外的所有非终端结点()。

A. 至少有棵子树B. 至多有棵子树C. 至少有棵子树D. 至多有棵子树8. 若用单链表来表示队列,最适合队列操作的是()。

A. 带尾指针的非循环队列B. 带尾指针的循环链表C. 带头指针的非循环链表D. 带头指针的循环链表9. 下面的序列中, ( )是堆。

A. 12, 36, 27, 65, 40, 34, 98, 81, 73, 55, 49B. 12, 36, 27, 65, 40, 14, 98, 81, 73, 55, 49C. 12, 36, 27, 20, 40, 34, 98, 81, 73, 55, 49D. 12, 36, 35, 65, 40, 34, 98, 81, 73, 55, 4910. 设有一个10阶的对称矩阵A, 采用压缩存储方式, 以行序为主序存储其下三角,a11为第一个元素, 其首存储地址为1, 每个元素占1个地址空间, 则a85的地址为( ) 。

A. 32B. 33C. 34D. 4011. 用带头结点的单链表存储队列,其队头指针指向头结点,队尾指针指向队尾结点,则在进行出队时()。

A. 仅修改队头指针B. 仅修改队尾指针C. 对头、尾指针都要修改D. 对头、尾指针都可能要修改12. 由权为7,2,4,5的四个叶子结点构造一个哈夫曼树,该树的带权路径长度为()。

A. 33B. 36C. 35D. 3413. 现有一"遗传"关系:设x是y的父亲,则x可以把它的属性遗传给y。

表示该遗传关系最适合的数据结构为( ) 。

A.向量 B.图 C.树 D.二叉树14. 线性表是具有n个 ( )的有限序列。

A. 表元素B. 字符C. 数据元素D. 数据项15. 在所有排序方法中,关键字的比较次数与记录的初始排列无关的是()。

A. 希尔排序B. 冒泡排序C. 直接插入排序D. 直接选择排序二.填空题(每空2分,共20分)1. 单链表中设置头结点的作用是。

2. 操作系统中先来先服务是数据结构应用的典型例子。

3. 对线性表进行折半查找时,要求线性表必须。

4. 在中序线索二叉树上,若当前访问节点的右标志为0,根据中序遍历的定义,它的后继结点是。

5. 哈夫曼树是带权路径长度的二叉树, 通常权值较大的结点离根。

6. 在m阶B-树中某结点插入一个关键字后,若该结点的关键字数目已达时,就要对该结点进行分裂。

7. 顺序查找一个共有n个元素的线性表,其时间复杂度为。

8. 对于含有n个顶点e条边的无向连通图, 利用广度优先搜索遍历图的时间复杂度为。

9. Dijkstra算法是按次序产生一点到其余各定点最短路径的算法。

三.判断题(每题1分,共10分,正确的选t,错误的选f)1. 将一棵树转换成二叉树后,根结点无右子树。

()2. 归并排序是不稳定的排序方法。

()3. 在一个有向图的邻接表中,如果某个顶点的链表为空,则该顶点的出度一定为零。

()4. 在二叉树的第6层上至多有31个结点。

()5. B-树和B+树都能有效地支持随机检索。

( )6. 图G的最小生成树的代价一定不大于其他生成树的代价。

( )7. 一个无序的元素序列可以通过构造一棵二叉排序树而变成一个有序的元素序列。

()8. 图的多重邻接表表示法中,表中结点的数目是图中边的条数。

()9. 对特殊矩阵压缩可以降低运算的时间复杂度。

( )10. 无向图的邻接矩阵是对称的,因此可只存储矩阵的下三角阵。

()四. 简答题(45分)1. 利用拓扑排序的方法求出图1所示有向图的所有拓扑序列。

对于有向无环图,还可使用什么方法获得拓扑序列?(10分)图12. 一棵二叉树,若根结点的左右子树均有三个结点,其左子树的先序序列与中序序列相同,右子树的中序序列与后子序序列相同,试构造该二叉树。

(7分)3. 已知序列(12,18,4,3,6,13,2,9,19,8)。

请给出采用希尔排序对该序列作升序排序的每一趟结果(步长分别为5,3,2,1)。

(8分)4. 设有一组关键字(33,41,20,24,30,13,01,67), 采用散列函数H(key)=(3*key) %11, 采用线性探测再散列解决冲突, Hi=(H(key)+di)%11,其中di=1,2,…,10. 试在0~10的散列地址空间中对该关键字序列(按从左到右的次序)构造散列表,并计算在查找概率相等的前提下,查找成功时的平均查找长度。

(10分)5. 已知图2所示的有向图。

设其顶点a,b,c,d,e表示一个乡的5个村庄,弧上的权值表示为两村之间的距离。

乡内要建立一所学校,问学校设在哪个村庄才能使从各村出发到学校的距离总和最小。

(要求回答解决上述问题应采用什么算法,并写出应用该算法解答上述问题的每一步计算结果)。

(10分)图2五、算法填空(共2小题,每空2分,共20分)1. 已知一个顺序存储线性表的元素递增有序排列。

下面的算法实现删除该表中值相同的元素。

请在__________处填上适当内容,使其成为一个完整算法。

typedef struct {ElemType *elem;int length ;int listsize ;} SqList;void dele(SqList &L) {int i=0, j=1;while ( (1) ){ if ( L.elem[j]!=L.elem[i])L.elem[++i]= (2) ;(3) ;}L.length= (4) ;2. 下面算法是用Dijkstra算法求有向网G的v0顶点到其余顶点v的最短路径P[v]及其带权长度D[v]。

若P[v][w]为TRUE,则w是从v0到v当前求得最短路径上的顶点。

final[v]为TRUE当且仅当v∈S(S为已求得最短路径的终点的集合), 即已经求得从v0到v的最短路径。

请在__________处填上适当内容,使其成为一个完整算法。

typedef struct ArcCell{VRType adj;InfoType *info; //该弧相关信息的指针}ArcCell, AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];tpyedef struct{VertexType vexs[MAX_VERTEX_NUM]; //顶点向量AdjMatrix arcs; //邻接矩阵int vexnum,arcnum; //图的当前顶点数和弧数GraphKind kind; //图的种类标志}MGraph;void ShortestPath_DIJ( MGraph G, int v0, PathMatrix &P, ShortPathTable &D){ for (v=0; v<G.vexnum; ++v) {final[v] = FALSE;D[v] = (5) ;for (w=0; (6 ) ; ++w) P[v][w] = FALSE;if (D[v] < INFINITY) { P[v][v0] = TRUE; P[v][v] = TRUE; } }D[v0] = 0; (7) ;for (i=1; i<G.vexnum; ++i) {min = INFINITY;for (w=0; w<G.vexnum; ++w)if (!final[w])if ( (8 ) ) { v = w; min = D[w]; }final[v] = TRUE;for (w=0; w<G.vexnum; ++w)if ( (9) ) {D[w] = (10 ) ;for(j=0;j<G.vexnum;j++) P[w][j] = P[v][j]; //第v行赋值于第w行 P[w][w] =TRUE;}//if}}六.编写算法(25分)1. 假设二叉树采用二叉链存储结构存储,试编写一个非递归算法,输出先序遍历序列中第k个结点的数据值。

(10分)2. 设计算法,对n个关键字取实数值的记录序列进行整理,以使所有关键字为负值的记录排序在非负值的记录之前(要求尽量减少记录的交换次数)。

(8分)3. 试编写出一个判别表达式中左、右小括号是否配对出现的算法。

(7分)。

相关文档
最新文档