2021年广东暨南大学数据结构考研真题
《暨南大学830数据结构2011-2019年考研真题及答案解析》
《暨南大学 830 数据结构历年考研真题及答案解析》
1/156
Ⅰ 历年考研真题试卷 暨南大学2011年招收攻读硕士学位研究生入学考试试题
考试科目:数据结构 科目代码:830 答题说明:所有答案必须写在答题纸上,并写清楚题号,写在试题上无效。
一、选择题(每题 2 分,共 30 分)
1. 算法分析的目的是( )。
B.互为逆序 C.都不相同
D.都相同
7. 高度为 5 的二叉树至多有结点数为( )。
A. 63
B. 3 2
C. 31
D.64
8. 图的邻接矩阵表示法适用于表示( )。
A.无向图 B.有向图 C.稠密图 D.稀疏图
9. 在一个单链表中,若 p 所指的结点不是最后一个结点,在 p 之后插入 s 所指的结
A. 元素按值有序
B. 采用顺序存储结构
C. 元素按值有序且采用顺序存储结构 D. 元素按值有序 且采用链式存储结构
11. 已知一棵二叉树结点的先序序列为 ABDGCFK, 中序序列为 DGBAFCK, 则结
点的后序序列为( )。
A.GDBFKCA B. DGBFKCA C. KFCABDG D. CAFKGDB
3. 线性表的动态链表存储结构顺序存储结构相比,优点是( )。
A. 所有的操作算法实现简单
B. 便于随机存取
C. 便于插入与删除
D. 便于节省存储器空间
4.若进栈序列为 1,2,3,4,5,6, 且进栈和出栈可以穿插进行,则可能出现的出
栈序列为( )。
A. 3,2,6,1,4,5
B.5,6,4,2,3,1
目录
Ⅰ 历年考研真题试卷................................................................................................................2
暨南大学830数据结构2010,2012--2020年考研真题
考生注意:所有答案必须写在答题纸(卷)上,写在本试题上一律不给分。
一、 单项选择题(每题 2 分,共 30 分)
1. 下述关于顺序存储结构优点的说法,哪个是正确的( )
A. 插入运算方便
B. 可方便地用于各种逻辑结构的存储表示
C. 存储密度大
D. 删除运算方便
2. 假设根结点为第 1 层,深度为 h 层的二叉树至少有( ) 个结点(h>1);
A.3
B.4
C.5
D.6
13. 有一个 100*90 的整数稀疏矩阵,其中非 0 元素个数为 10;设每个整数占用 3 个字节,则
用三元组表示该矩阵时,总共需要的存储空间为( )字节。
A.30
B.33
C.90
D.99
14. 在一个双向链表中,当删除结点 p 时,错误的操作序列为 ( )。
A. p=p->prev; p->next->prev=p; p->next=p->next->next;
2020 年全国硕士研究生统一入学考试自命题试题 B 卷
********************************************************************************************
学科、专业名称:网络空间安全 研究方向:网络空间安全 083900 考试科目名称及代码:数据结构 830
4. 以下关于递归算法的论述,不正确的是( )
A. 递归算法的代码可读性好
B. 递归算法可以提高程序运行效率
C. 递归调用层次太深有可能造成堆栈溢出 D. 递归调用层次太深会占用大量内存
5. 设有字符集合{4,6,3,W,S},将字符序列 6W43S 中的字符按顺序进入堆栈,出栈可发生在任
2021数据结构考研《数据库系统概论》考研真题大题解析
2021数据结构考研《数据库系统概论》考研真题大题解析1、设计与应用题1某汽车维修公司需建立一个汽车维修数据库,该数据库中需要存储和管理下列信息:车辆信息:车牌号,车型,发动机号,行驶里程,车辆所有人,联系电话维修项目:项目号,项目名称,维修费汽车备件:备件号,备件名称,备件单价,库存数量以上数据之间存在下列约束:可以对一个车辆进行多个维修项目,每个维修项目可用于多个车辆,维修项目完成后要在数据库中记录维修时间;一种备件可用于多个维修项目,每个维修项目最多只使用一种备件,但每种备件的数量可以是多个。
①根据以上需求构建该数据库的概念模型(画E-R图)。
②假设车辆信息有如下约束:车牌号:标识属性,取值形式为:第1个字符是“京”,第2个字符为“A”到“Z”的字母,第3到第7个字符均是“0”到“9”的数字。
此列采用普通编码定长字符型,非空;车型:普通编码定长字符型,长度为6,默认值为“轿车”;发动机号:普遍编码定长字符型:长度为6,非空;行驶里程:整型,取值大于或等于0;车辆所有人:普通编码定长字符型,长度为8,非空;联系电话:普通编码定长字符型,长度为13,取值唯一。
写出创建满足上述要求的车辆信息表的SQL语句。
(注:表名和列名均用题中给出的中文名,SQL语句中大、小写字母均可。
)答:概念模型如下:②【解析】①根据题意可知,一个车辆可以进行多个项目的维修,一个维修可以用于多个车辆,所以实体车辆信息与维修项目之间是多对多的关系;一种配件可用于多个维修项目,但一个维修项目最多只能用一种配件,所以配件与维修项目是一对多的关系。
②SQL语句中车牌号的取值形式限定可用CHECK约束来表示。
2现有关系模式:教师授课(教师号,姓名,职称,课程号,课程名,学分,教科书名)其函数依赖集为:{教师号→姓名,教师号→职称,课程号→课程名,课程号→学分,课程号→教科书名}①指出这个关系模式的主码。
②这个关系模式是第几范式,为什么?③将其分解为满足3NF要求的关系模式(分解后的关系模式名自定)答:①主码为:(教师号、课程号)②第1范式,因为存在部分依赖。
数据结构暨南大学期末试卷试题
数据结构暨南大学期末试卷试题一、判断题(共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数据结构》考研专业课真题试卷
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)
暨南大学网络空间安全专业研究生统一入学考试自命题试题A卷
5.请用顺序存储的方式,用 C 语言写出实现把串 S1 复制到串 S2 的串复制函数 strcpy(S1,S2)。
(8 分)
6.试着描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。(6 分)
五、算法填空(共 2 小题,每空 2 分,共 20 分)
址冲突的整数有()个
A. 1 B. 2
C. 3
D. 4
二、填空题 (每空 2 分,共 20 分)
1. 有一个 10 阶对称矩阵 A,采用压缩存储方式(以行序为主,且 A[0][0]=1),则 A[8][5]的地 址是( ) 2. 含有 100 个结点的树有( )条边。 3. 已知二叉树的前序序列为 ABDEGCFHIJ,中序序列为 DBGEAHFIJC,请写出后序列( ) 4. 数据结构的三要素是指( )( )( )。
1/4
5. 在顺序表中插入或删除一个元素,需要平均移动( ),具体移动的元素个数与( )有关。 6. 设栈 S 与队列 Q 的初始状态皆为空,元素 a1,a2,a3,a4,a5 和 a6 依次通过一个栈,一个元素出 栈后即进入队列 Q,若 6 个元素出队列的顺序是 a3,a5,a4,a6,a2,a1,则栈 S 至少应该容纳( )个 元素。 7. 在一个无向图的邻接表中,若表结点数目为 m,则图中边的条数为( )。
A. a 在 B 的左边 B. a 在 b 的右边 C. a 是 b 的祖先 D. a 是 b 的子孙
7. 用单向链表来实现容量为 n 的堆栈时,链表头指针指向堆栈顶部元素,链表尾指针指向堆栈
底部元素,则以下说法错误的是( )
பைடு நூலகம்
考研真题:广东暨南大学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]的地址是。
暨南大学830数据结构2010,2012--2020年考研专业课真题
2020年全国硕士研究生统一入学考试自命题试题B卷********************************************************************************************学科、专业名称:网络空间安全研究方向:网络空间安全083900考试科目名称及代码:数据结构830考生注意:所有答案必须写在答题纸(卷)上,写在本试题上一律不给分。
一、单项选择题(每题2分,共30分)1. 下述关于顺序存储结构优点的说法,哪个是正确的()A. 插入运算方便B. 可方便地用于各种逻辑结构的存储表示C. 存储密度大D. 删除运算方便2. 假设根结点为第1层,深度为h层的二叉树至少有( ) 个结点(h>1);A. 2hB. 2h-1C. 2h+1D. 2h-13. 用单向链表来实现容量为n的堆栈时,链表头指针指向堆栈顶部元素,链表尾指针指向堆栈底部元素,则以下说法错误的是( )A. 入栈操作的复杂度为O(1)B. 出栈操作的复杂度为O(1)C. 删除底部元素的复杂度为O(1)D. 插入一个新的堆栈底部元素复杂度为O(1)4. 以下关于递归算法的论述,不正确的是( )A. 递归算法的代码可读性好B. 递归算法可以提高程序运行效率C. 递归调用层次太深有可能造成堆栈溢出D. 递归调用层次太深会占用大量内存5. 设有字符集合{4,6,3,W,S},将字符序列6W43S中的字符按顺序进入堆栈,出栈可发生在任何时刻。
则以下的出栈序列错误的是()。
A. 64WS3B. 4W36SC. 6W34SD. WS4366. 在管理城市道路交通网络据时,最适合采用()数据结构来对其进行存储。
A.有向图B.无向图C.树D.矩阵7. 具有k个顶点的完全有向图的边数为( )。
A. k(k-1)B. k(k-1)/2C. k2-1D. k2+18. 若线性表最常用的操作是增加或者删除某个元素, 则采用( )存储方式节省时间.A. 单链表B. 双链表C. 单循环链表D. 顺序表9. 由权为6,3,2,8的四个叶子结点构造一个哈夫曼树,该树的带权路径长度为()。
暨南大学数据结构考研真题试题2017、2020年
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. 若线性表最常用的操作是增加或者删除某个元素, 则采用( )存储方式节省时间.
1. 对 n 个不同的排序码进行冒泡排序,在元素无序的情况下比较的次数为
。
2. 在 单 链 表 中 , 要 将 m 所 指 结 点 插 入 到 n 所 指 结 点 之 后 , 其 语 句 表 示
为
。
3. 设有数组 A[i][j],数组的每个元素长度为 3 字节,i 的值为 1 到 8,j 的值为 1 到 10,数组
从 内 存 首 地 址 BA 开 始 顺 序 存 放 , 当 用 以 列 为 主 存 放 时 , 元 素 A[5][8]的 存 储 首 地 址
为
。
4. 设哈夫曼树中有 199 个结点,则该哈夫曼树中有
个叶子结点。
5. 对 22 个记录的有序表作折半查找,当查找失败时候,至多需要比较
次关键字,
至少需要比较
A.3
B.4
C.5
D.6
考试科目:数据结构
1/9
13. 有一个 100*90 的整数稀疏矩阵,其中非 0 元素个数为 10;设每个整数占用 3 个字节,则
用三元组表示该矩阵时,总共需要的存储空间为( )字节。
A.30
B.33
C.90
D.99
2021年暨南大学830数据结构考研专业课考试大纲(含参考书目)
1
暨南大学硕士研究生入学考试自命题科目
830《数据结构》考试大纲
Ⅰ考试形式
一、试卷满分及考试时间
本试卷满分为150分,考试时间为180分钟
二、答题方式
答题方式为闭卷、笔试
Ⅱ考查目标
1. 理解数据结构的基本概念;掌握数据结构的逻辑结构、存储结构及其差异,以及各种基本操作的实现。
2. 掌握基本的数据处理原理和方法的基础上,能够对算法进行设计与分析。
3. 能够选择合适的数据结构和方法进行问题求解。
一、基本概念和术语
(一)数据元素、数据结构、抽象数据类型等概念
(二)算法设计的基本要求
(三)语句的频度和估算时间复杂度
二、线性表
(一)线性表的定义和基本操作 暨南大学硕士研究生入学考试自命题考试大纲 (含参考书目清单)
第 1/4页。
2021年暨南大学数据结构考研真题
2021年暨南大学数据结构考研真题2021年全国硕士研究生统一入学考试自命题试题********************************************************************************************学科与专业名称:计算机技术,软件工程考试科目代码与名称:830数据结构学生特别注意:所有答案必须写下在答题纸(卷)上,写下在本试题上一律不给分后。
一.选择题(每题2分后,共30分后)1.队列操作方式的原则就是()。
a.先进先出b.后进先出c.就可以展开填入d.就可以展开删掉2.一个栈的进栈序列就是a,b,c,d,e,则栈的不能可能将的输入序列就是()。
a.edcbab.decbac.dceabd.abcde3.使用顺序搜寻法搜寻长度为n的线性表时,每个元素的平均值搜寻长度为()。
a.nb.n/2c.(n+1)/2d.(n-1)/24.线性表的链接同时实现有助于()运算。
a.读表元素b.填入c.搜寻d.定位5.设单链表指针p对着结点a,若必须删掉a之后的结点(若存有),则须要修正指针的操作方式为()。
a.p->next=p->next->nextb.p=p->nextc.p=p->next->nextd.p->next=p6.在内部排序中,排序时不稳定的存有()。
a.插入排序b.冒泡排序c.快速排序d.福兰县排序7.在aoe网中,顺利完成工程的最为短时间就是()。
a.从源点至汇点的最久路径的长度b.从源点至汇点的最长路径的长度c.最久的电路的长度d.最短的电路的长度8.以下()方法所用辅助存储空间最小。
a.堆排序b.希尔排序c.快速排序d.福兰县排序9.具备8个顶点的无向图至少理应()条边就可以保证就是一个相连图。
a.5b.6c.7d.810.对具备n个结点的有序表不计搜寻时,其时间复杂度就是()。
2021年广东暨南大学计算机基础综合考研真题
2021年广东暨南大学计算机基础综合考研真题招生专业与代码:计算机系统结构081201、计算机软件与理论081202、计算机应用技术081203、电子信息(专业学位) 085400考试科目名称及代码:计算机基础综合848考生注意:所有答案必须写在答题纸(卷)上,写在本试题上一律不给分。
第一部分数据结构(75分)一、单项选择题(每题2分,共20分)1. 某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
A.单链表B.仅有头指针的单向循环链表C.双链表D.仅有尾指针的单向循环链表2. 一个栈的输入序列为1,2,3...,n,若输出序列的第一个元素是n,那么输出第i(1<=i<=n)个元素是()。
A. n-iB. iC. n-i+1D. 不确定3. 若一颗二叉树具有15个度为2的结点,10个度为1的结点,则度为0的结点个数是()。
A. 16B. 25C. 40D. 不确定4. 根据使用频率,为5个字符设计的哈夫曼编码不可能是()。
A. 000,001,010,011,1B. 000,001,01,10,11C. 00,100,101,110,111D. 0000,0001,001,01,15. 设a,b为一棵二叉树上的两个结点,在中序遍历时,a在b前面的条件是()。
A.a在b的右方B. a在b的左方C. a是b的祖先D. a是b的子孙6. 对一棵二叉排序树按()遍历,可得到结点值从小到大的排序序列。
A. 先序B. 中序C. 后序D. 层次7. 已知一个有序表为(5,13,19,21,37,56,64,75,80,88,92),则折半查找64需要比较()次。
A. 1B. 2C. 3D. 48. 在一个图中,所有顶点的度数之和等于所有边数的()倍。
A. 1/2B. 1C. 2D. 39. 一个序列中有100000个元素,若只想得到其中前10个最大元素,则最好采用()方法。
2021暨南大学计算机科学与技术考研真题经验参考书
现在很多人觉得如果大学生从事IT行业的话,可能就是干一段时间码农,如果到了自己发展的瓶颈期,没有更好的出路的话,就会被单位抛弃,毕竟IT 行业是一个特别年轻的行业,每年都会有新鲜的血液注入到这个行业,我不知道行业以后的变化是什么,但是未雨绸缪总是没错的,努力让自己变成复合型人才,走在科学技术的最前沿,才有可能不被这个社会这个行业淘汰,所以我想在我大学毕业以后不直接走上工作岗位,而是去大学继续读研,再好好深造自己一下,因为本科就读的是计算机相关的专业,考虑到考研以后的发展,我选择报考的是暨南大学的计算机科学与技术专业,暨南大学相信大家都有听说过,它位于广东省,是一所老牌的211学校,学校历史悠久,我也是在跟很多老师还有师兄们请教过后才决定来这个学校读研的。
计算机考研一共包括四科,英语100分,政治100分,数学150分,专业课150分,总分500分。
初试成绩很重要,这是你考研的第一步,也是最关键的一步,因为它是决定你是否有机会去复试的一个敲门砖,所以大家在考研初期,一定要明确一点,那就是努力把成绩提高,其他的事情都可以等考研初试结束以后再去考虑。
我自己的复习方法不一定是最好的,但是希望能给大家带来一点有用的信息。
考研政治的复习,对于我这个理科生来说,还是比较头疼的,因为需要背诵记忆的知识点很多而且很杂,往往是刚记住了一个上一个可能就忘记了,再跟很多考研的同学交流以后,是我自己的方法有问题,后来我及时调整复习方法,把考研大纲先自己认真看一下,把里面的考查知识点大概了解一下,建立起自己的一个知识体系,把各个知识点之间的关系自己理顺,然后结合教材和参考书把不清楚有疑问的知识点搞懂,然后就是真题的练习,在做真题的过程中,注意看一下考查知识点的角度和方式,遇到有自己不理解的题目,大家结合给出的答案,看一下这种类型的题目是从哪些方面考虑的,注意培养自己的答题思维逻辑,毕竟我们的目的就是多拿分。
给大家推荐的参考书是《李凡政治新时器》,李老师的这本书我看很多地方都有推荐,知识点讲解的确实全面又通俗易懂,大家可以好好利用一下。
2022年暨南大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)
2022年暨南大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、下列说法不正确的是()。
A.图的遍历是从给定的源点出发每个顶点仅被访问一次B.遍历的基本方法有两种:深度遍历和广度遍历C.图的深度遍历不适用于有向图D.图的深度遍历是一个递归过程2、将线性表的数据元素进行扩充,允许带结构的线性表是()。
A.串B.树C.广义表D.栈3、计算机算法指的是解决问题的步骤序列,它必须具备()三个特性。
A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性4、最大容量为n的循环队列,队尾指针是rear,队头:front,则队空的条件是()。
A.(rear+1)MOD n=frontB.rear=frontC.rear+1=frontD.(rear-1)MOD n=front5、下列关于AOE网的叙述中,不正确的是()。
A.关键活动不按期完成就会影响整个工程的完成时间B.任何一个关键活动提前完成,那么整个工程将会提前完成C.所有的关键活动提前完成,那么整个工程将会提前完成D.某些关键活动若提前完成,那么整个工程将会提前完成6、若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b, c,d,e,a,则根结点的孩子结点()。
A.只有e B.有e、b C.有e、c D.无法确定7、下列选项中,不能构成折半查找中关键字比较序列的是()。
A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4508、有n(n>0)个分支结点的满二叉树的深度是()。
A.n2-1B.log2(n+1)+1C.log2(n+1)D.log2(n-l)9、在下述结论中,正确的有()。
①只有一个结点的二叉树的度为0。
②二叉树的度为2。
③二叉树的左右子树可任意交换。
2023年暨南大学《848-计算机基础综合》考研真题
19. 算法的时间复杂度不是 O(nlogn)的算法是(
)。
A、快速排序
B.归并排序
C.堆排序
D.基数排序
20. 用邻接表表示图进行广度优先遍历时,通常采用(
)来实现算法。
A.栈
B.队列
C.树
D.图
21-30 C 语言程序设计部分
21. 下列哪一项是 C 语言合法标识符( )。
A. int
B. extern
A. |060 |
B. |060|
28. 下列程序的输出是什么?( )
C. | 060|
D. |60|
int a[2][3] = {0,0,1,1,2,2};
int (*p)[3] = a;
printf("%d", ++(*((*(p + 1)) + 2)));
A. 0
B. 1
C. 2
D. 3
29. 在定义 int (*p)[8]中,p 表示什么?( )
)。
A. 34
B. 36
C. 70
14. 按照二叉树的定义,具有 3 个结点的二叉树有(
)种。
D. 71
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2021年广东暨南大学数据结构考研真题
学科、专业名称:网络空间安全
研究方向:网络空间安全083900
考试科目名称及代码:数据结构830
考生注意:所有答案必须写在答题纸(卷)上,写在本试题上一律不给分.
一、单项选择题 (每题2分,共20分)
1. 以下数据结构中哪一个是非线性结构? ()
A. 二叉树
B. 栈
C. 线性表
D. 队列
2. 当要对线性表进行折半查找时,线性表必须满足以下条件().
A. 以顺序方式存储
B. 以链表方式存储
C. 以顺序方式存储且按关键字有序排列
D. 以链表方式存储且按关键字有序排列
3. 为了提高哈希表的查找效率,以下方法说法不正确的是( ).
A. 设计好的哈希函数
B. 增加哈希函数的个数
C. 增大存储空间
D. 采用更好的地址冲突解决方法
4. 用单向链表来实现容量为n的堆栈时,链表头指针指向堆栈顶部元素,链表尾指针指向堆
栈底部元素,则以下说法错误的是()
A. 入栈操作的复杂度为O(1)
B.出栈操作的复杂度为O(1)
C. 插入一个新的堆栈底部元素复杂度为O(1)
D. 删除底部元素的复杂度为O(1)
5. 设一个顺序有序的一维数组A[1:14]中有14个元素,采用二分查找算法查找到A[4]中的
元素过程中需要比较的元素的顺序是()
A. A[1], A[2], A[3], A[4]
B. A[7], A[3], A[5], A[4]
C. A[1], A[14], A[7], A[4]
D. A[7], A[5], A[3], A[4]
6. 稀疏矩阵一般采用的压缩存储方法有两种,即()
A. 二维数组和三维数组
B.三元组和散列
C. 三元组和十字链表
D. 十字链表和散列
7. 设a, b为一棵二叉树上的两个结点,在中序遍历时先访问a后访问b的条件是()
A. a在B的左边
B. a在b的右边
C. a是b的祖先
D. a是b的子孙
8. 某二叉树的中序序列为ABCDEFG,后序序列为BDCAFGE,则其左子树结点数为()
A. 5
B. 4
C. 3
D. 2
9. 判断一个有向图中是否存在环(回路),可采用以下方法()
A. 广度优先遍历
B. 求关键路径
C. 求最短路径
D. 拓扑排序
10. 用哈希表存储7个整数18,25,63,50,42,32,9, 如果哈希函数为H(x)=x mod 9,则与18
发生地址冲突的整数有()个
A. 1
B. 2
C. 3
D. 4
二、填空题 (每空2分,共20分)
1. 数据结构的三要素是指()()().
2. 在顺序表中插入或删除一个元素,需要平均移动(),具体移动的元素个数与()有关.
3. 设栈S与队列Q的初始状态皆为空,元素a1,a2,a3,a4,a5和a6依次通过一个栈,一个元素出栈后即进入队列Q,若6个元素出队列的顺序是a3,a5,a4,a6,a2,a1,则栈S至少应该容纳()个元素.
4. 有一个10阶对称矩阵A,采用压缩存储方式(以行序为主,且A[0][0]=1),则A[8][5]的地址是()
5. 含有100个结点的树有()条边.
6. 已知二叉树的前序序列为ABDEGCFHIJ,中序序列为DBGEAHFIJC,请写出后序列().
7. 在一个无向图的邻接表中,若表结点数目为m,则图中边的条数为().
三.判断题(每题2分,共20分,正确的选T,错误的选F)
1.通过使用线性链表来实现堆栈,可以使得每次入栈/出栈操作的时间复杂度为O(1).()
2.深度优先搜索的核心数据结构是队列.()
3.将包含n个元素的升序线性链表改成降序线性链表所需要的时间复杂度为O(n).()
4.选择排序算法是稳定的.()
5.一棵高度为h的完全二叉树的结点数量比同样高度的一棵满二叉树的结点要多.()
6.平衡二叉树(AVL)的优点是能够保证在最坏情况下的查找时间复杂度为O(logN).()
7.无向图的邻接矩阵是对称的,因此只需要存储矩阵的下三角阵以节省存储空间. ( )
8.一棵高度为h的完全二叉树可能的最大结点个数为2h个.()
9.在快速排序、冒泡排序、希尔排序、堆排序中,空间复杂度最高的是快速排序.()
10.将一棵树转化成一棵二叉树,则该二叉树的右子树不一定为空.()
四、简答题(共40分)
1.描述以下三个概念的区别:头指针,头结点,首元结点(第一个元素结点).(6分)
2.简述线性表、队列和堆栈这三种数据类型的相同点和差异处. (6分)
3. 在程序设计中,可采用下列三种方法实现输出和输入: (1)通过 scanf 和 printf 语句;
(2) 通过函数的参数显式传递; (3) 通过全局变量隐式传递.试讨论这三种方法的优缺点.(6分)
4.试着描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别.(6分)
5.试写出一种算法在带头结点的单链表结构上实现线性表操作Length(L).(8分)
6.请用顺序存储的方式,用C语言写出实现把串S1复制到串S2的串复制函数strcpy(S1,S2).(8分)
五、算法填空(共2小题,每空2分,共20分)
1. 假设有一棵二叉查找树,其每个结点包含键值key、左孩子指针left和右孩子指针right,指针p指向该二叉树的根结点.现要查找键值为x的结点,如果该二叉树中存在键值为x 的结点,则返回指向该结点的指针;如果不存在,则返回空指针NULL.请填写下面C代码中空白的部分,使其成为完整的算法以完成对二叉树的查找.
SearchBinaryTree(p, x)
{
if (p == NULL || (1) )
return p;
if (2)
return (3)_______;
else
return (4) ;
}
请将以上空白处的答案填写在下面对应位置:
(1)
(2)
(3)
(4)
2.给定一个单向链表L,链表中的结点按照键值大小升序排列.以下的代码可以将L中所有键值相同的结点从L中删除,请将代码中空白处填写完整.
Struct node{
int key;
node *next;
}
int DeleteDuplicate(node *L){
node *p, *q;
if (L == NULL || L->next ==NULL) return -1;
p = L;
q = p->next;
while (p->next != NULL){
if (p->key != q->key){
(1) ;
(2) ;
} else {
while ((3) ){
node *tmp = q->next;
delete q;
(4) ;
if (q == NULL) break;
}
if (q != NULL){
(5) ;
p = p->next;
q = p->next;
} else
(6) ;
}
}
}
请将以上代码的空白处答案填写在下方相应位置:
(1)
(2)
(3)
(4)
(5)
(6)
六.编写算法(30分)
1.假设称正读和反读都相同的字符序列为“回文”,例如, ‘abba’和‘abcba’是回文, ‘abcde’和‘ababab’则不是回文.试写一个算法判别读入的一个以‘@’为结束符的字符序列是否是“回文”.(10分)
2. 已知由一个线性链表表示的线性表中含有三类字符的数据元素(如:字母字符、数字字符和其他字符), 试编写算法将该线性表分割为三个循环链表,其中每个循环链表表示的线性表中均只含一类字符.(10分)
3. 已知一棵具有n个结点的完全二叉树被顺序存储在一维数组A[n]中,试着编程一个算法输出A[i]的结点的双亲与所有孩子.(10分)。