2021年《数据结构》考研真题与考研复习

合集下载

2021重庆邮电大学802数据结构考研真题电子版

2021重庆邮电大学802数据结构考研真题电子版

机密 启用前重庆邮电大学2021年攻读硕士学位研究生入学考试试题科目名称:数据结构(A)卷科目代码:802考生注意事项1、答题前,考生必须在答题纸指定位置上填写考生姓名、报考单位和考生编号。

2、所有答案必须写在答题纸上,写在其他地方无效。

3、填(书)写必须使用黑色字迹钢笔、圆珠笔或签字笔。

4、考试结束,将答题纸和试题一并装入试卷袋中交回。

5、本试题满分150分,考试时间3小时。

一、选择题(本大题共15小题,每小题2分,共30分)1设N是描述问题规模的非负整数,下列程序段的时间复杂度是()。

static int fun(int N) {if (N == 1) return 0;return 1 + fun(N/2);}A.O(log N) B. O(N) C. (N log N) D. O(N2)2一些随机产生的数采用线性链表存储,在下面这些排序方法中,()的时间复杂度是最小的。

A.插入排序 B. 快速排序 C. 堆排序 D. 归并排序3一个栈的输入序列为a,b,c,d,e,则下列序列中不可能是栈的输出序列的是()。

A.b c d a e B.e d a c b C.b c a d e D.a e d c b4实现一个队列需要()个栈。

A.1 B. 2 C. 3 D. 45下面()是一颗满二叉树的结点个数。

A.8B.13C.14D.156若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则X的前驱为()。

A.X的双亲B.X的右子树中最左的结点C.X的左子树中最右的结点D.X的左子树中最右的结点7下列序列中,哪一个是堆()?A.75, 65, 30, 15, 25, 45, 20, 10B.75, 65, 45, 10, 30, 25, 20, 15C.75, 45, 65, 30, 15, 25, 20, 15D.75, 45, 65, 10, 25, 30, 20, 158一棵Huffman树共有203个结点,对其Huffman编码,共能得到()个不同的码字。

2021年山东科技大学数据结构与操作系统--真题及参考答案

2021年山东科技大学数据结构与操作系统--真题及参考答案

2021年山东科技大学数据结构与操作系统--真题及参考答案数据结构与操作系统Z试卷《数据结构》部分(90分)一、简答题(20分,每题5分)1、请给出四种数据结构基本类型。

答:根据数据元素之间关系的不同特征,通常有下列4类的基本结构:(1)集合。

(2)线性结构。

(3)树形结构。

(4)图状结构或网状结构。

2、简述栈和队列的区别。

(P44;P58)区别和联系:从数据结构上看,栈和队列也是线性表,不过是两种特殊的线性表。

栈只允许在表的一端进行插入或删除操作,队列只允许在表的一端进行插入操作、而在另一端进行删除操作。

因而,栈和队列也可以被称作为操作受限的线性表。

3、什么是关键路径?(P183)在AOE网中,有些活动可以并行地运行,最短完成时间应是从源点到汇点的最长路径长度(指路径上所有权值之和),称这样的路径为关键路径。

4、插入类排序有哪几种?其中,哪些是不稳定的排序算法?(P265)二、应用题(40分)1、如果进栈的序列是12345,请给出所有3、4先出栈的序列(3在4之前出栈)。

(5分)(P)【解答】34215 ,34251, 34521 (可以参考下面这个题:【¥】铁路进行列车调度时,常把站台设计成栈式结构,若进站的六辆列车顺序为:1,2,3,4,5,6,那么是否能够得到435612, 325641, 154623和135426的出站序列,如果不能,说明为什么不能;如果能,说明如何得到(即写出\进栈\或\出栈\的序列)。

【解答】输入序列为123456,不能得出435612和154623。

不能得到435612的理由是,输出序列最后两元素是12,前面4个元素(4356)得到后,栈中元素剩12,且2在栈顶,不可能让栈底元素1在栈顶元素2之前出栈。

不能得到154623的理由类似,当栈中元素只剩23,且3在栈顶,2不可能先于3出栈。

得到325641的过程如下:1 2 3顺序入栈,32出栈,得到部分输出序列32;然后45入栈,5出栈,部分输出序列变为325;接着6入栈并退栈,部分输出序列变为3256;最后41退栈,得最终结果325641。

2021数据结构考研《数据库系统概论》考研真题大题解析

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范式,因为存在部分依赖。

华中农业大学2021年《数据结构与算法》考研真题

华中农业大学2021年《数据结构与算法》考研真题

华中农业大学2021年《数据结构与算法》考研真题一、名词解释1、算法及算法的特性2、树的度及深度3、完全二叉树4、索引文件5、强连通性二、选择题1、设栈S和队列Q的初始状态均为空,元素ABCDEFG依次进栈S。

若每个元素出栈后立即进入队列Q,且7个元素的出队顺序是BDCFEAG,则栈S的容量至少是∶A.1B.2C.3D.42、已知一棵完全二叉树的第六层(根为第一层)有8个叶子结点,则完全二叉树的结点个数最多是∶A.39B.52C.111D.1193、下列叙述中不符合m阶B树定义要求的是∶A.根结点最多有m棵子树B.所有叶结点在同一层上C.各结点内关键字均升序或降序排列D.叶结点之间通过指针链接4、若无向图中含有7个顶点,则保证图在任何情况下都是连通的,需要的边数最少是∶A.6B.15C.16D.215、对一组数据(7,17,21,93,10,16)进行排序,若前三趟排序结果如下,则采用的排序方法是∶第一趟∶7,17,21,10,16,93第二趟∶7,17,10,16,21,93第三趟∶7,10,16,17,21,93A.冒泡排序B.希尔排序C.归并排序D.基数排序6、已知一棵有2011个结点的树,其叶结点个数为116,该树对应的二叉树中无右孩子的结点个数是∶A.115B.116C.18955D.18967、已知字符串S为"abaabaabacacaabaabcc".模式串t为"abaabc",采用KMP算法进行匹配,第一次出现"失配"s[i]!=t[i]时,i=j=5,则下次开始匹配时,i和j的值分别是∶A.i=1;j=0;B.i=5;j=0;C.i=5;j=2;D.i=6;j=2;8、用哈希(散列)方法处理冲突(碰撞)时可能出现堆积(聚集)现象,下列选项中,会受堆积现象直接影响的是∶A.存储效率B.数列函数C.装填(装载)因子D.平均查找长度9、循环队列放在一维数组A[O·M-1]中,endl 指向队头元素,end2 指向队尾元素的后一个位置。

2021数据结构考研数据结构与C语言考研名校考研真题

2021数据结构考研数据结构与C语言考研名校考研真题

2021数据结构考研数据结构与C语言考研名校考研真题一、名校考研真题解析为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。

该缓冲区的逻辑结构应该是()。

[2009年联考真题]A.栈B.队列C.树D.图【答案】B !~【解析】这类问题一般都先分析题目中的数据具有什么操作特性或是结构特性比如“先进后出”、“先进先出”等再判断其逻辑结构。

栈和队列是操作受限的线性表,栈具有先进后出的特性而队列具有先进先出的特性。

由于本题中先进入打印数据缓冲区的文件先被打印,因此打印数据缓冲区具有先进先出性,则它的逻辑结构应该是队列。

100.设哈希表长M=14,哈希函数H(KEY)=KEY MOD 11。

表中已有4个结点:ADDR(15)=4,ADDR(38)=5,ADDR(61)=6,ADDR(84)=7,其余地址为空,如用二次探测再哈希法解决冲突,关键字为49的结点的地址是()。

[东华大学考研真题]A.8B.3C.5D.9【答案】D !~【解析】15,38,61,84用哈希函数H(key)=key%11计算后得地址:4,5,6,7 49计算后为5,发生冲突. 用二次探测再散列法解决冲突: 1:(key+1^2)%11=(49+1)%11=6,仍然发生冲突. 2:(key-1^2)%11=(49-1)%11=4,仍然发生冲突. 3:(key+2^2)%11=(49+4)%11=9,不再发生冲突.101.设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,f,g依次进入栈S。

若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是()。

[2009年联考真题]A.1B.2C.3D.4【答案】C !~【解析】由于栈具有先进后出的特性,队列具有先进先出的特性,出队顺序即为人队顺序。

在本题中,每个元素出栈S后立即进入队列Q,出栈顺序即为入队顺序,所以本题中队列的作用形同虚设,根据题意出队顺序即为出栈顺序。

(2021年整理)1月全国统考计算机网络(独立本科段)数据结构真题

(2021年整理)1月全国统考计算机网络(独立本科段)数据结构真题

1月全国统考计算机网络(独立本科段)数据结构真题(推荐完整)编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(1月全国统考计算机网络(独立本科段)数据结构真题(推荐完整))的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为1月全国统考计算机网络(独立本科段)数据结构真题(推荐完整)的全部内容。

1月全国统考计算机网络(独立本科段)数据结构真题(推荐完整)编辑整理:张嬗雒老师尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布到文库,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是我们任然希望 1月全国统考计算机网络(独立本科段)数据结构真题(推荐完整) 这篇文档能够给您的工作和学习带来便利。

同时我们也真诚的希望收到您的建议和反馈到下面的留言区,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请下载收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为〈1月全国统考计算机网络(独立本科段)数据结构真题(推荐完整)> 这篇文档的全部内容。

全国20XX年1月高等教育自学考试数据结构试题课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分.1。

逻辑上通常可以将数据结构分为( )A。

动态结构和静态结构 B.顺序结构和链式结构C.线性结构和非线性结构D.初等结构和组合结构2。

在下列对顺序表进行的操作中,算法时间复杂度为O(1)的是( )A。

访问第i个元素的前驱(1<ni≤)B。

数据结构复习题(2021计科)

数据结构复习题(2021计科)

A 借助二叉树上的运算方法去实现对树的一些运算
B 将树、森林按二叉树的存储方式进行存储并利用二叉树的算法解决树的有关问

C 将树、森林转换成二叉树
D 体现一种技巧,没有什么实际意义
12. 算法指的是( )。
A 对特定问题求解步骤的一种描述,是指令的有限序列。 B 计算机程序
C 解决问题的计算方法 D 数据处理
标的范围是从 0~9, A 的第 8 列和第 5 行共占(
)个字节。
A 114 B 54 C 108
D 540
25. 在一棵树中,每个结点最多有 (
) 个前驱结点。
A.0
B.1
C.2
D.任意多个
26. 一个队列的入队顺序是 1,2,3,4,则队列的输出顺序是( )。
A 4321 B 1234 C 1432 D 3241
A 必须是连续的 B 部分地址必须是连续的 C 一定是不连续的 D 连续与否均
可以
34. 线性表的最后一个元素叫做( )。
A.表头元素
B.表尾元素
C.前驱元素
D.后继元素
35. 设二叉树有 n 个结点,则其深度为( )。
A n-1 B n
C log2n 向下取整
15. 在一个单链表中,已知 q 所指结点是 p 所指结点的直接前驱,若在 q 和 p 之
间插入 s 所指结点,则执行( )操作。
A s.next=p.next; p.next=s; B q.next=s; s.next=p;
C p.next=s.next; s.next=p; D p.next=s; s.next=q;
A 不变 B top=top-1 C top=0 D top=top+1

2021《算法数据结构》复习试题库及答案

2021《算法数据结构》复习试题库及答案

2021《算法数据结构》复习试题库及答案试题1算法设计题(每小题6分.共12分)1.请写出在循环队列上进行插入操作的算法。

要求若插入成功则返目true,否则返回else.循环队列定义如下:struet CyclicQueue {ElemTy[ae elem[M]; //M为已定义过的整型常量,表示队列数组空间长度int rear,front; //rear指向队尾元素后一个位置,front指向队头元索int tag;};注意:当front=rear且tag=0时,队列空,当front=rear 且tag=1时,队列满,即队列中已有M个元素.bool EnCQueue(CyclicQueue& Q, ElemType x){ {/*编写该函数体。

/}//在下面编写函数体2.已知二又树中的结点类型Bin·rreeNode定义为:slruct BinTreeNode {char data;BinTreeNode * left, * right;};其中data为结点值域,left和righ~分别为指向左、右子女结点的指针域,根据下面函数声明编写出求一棵二叉树中结点总数的递归算法,该总数值由函数返回.假定BT初始指向这棵二又树的.根结点.int BTreeCount(BinTreeNode* BT);答案算法设计题(2小题,每小题6‘分,共12分)1.分步给分if (Q. rear=Q, front && Q tag== 1) return false;Q. elem[Q, rear] = x;Q. rtar= (Q. rear+ 1) %M;if(Q. rear== Q. front) Q. tag= 1;return true;2.分步给分int BTreeCount(BinTreeNode * BT)(if(BT== NULL)return O;elsereturn BTreeCount ( BT->left) +BTreeCount(BT-> fight) + l;试题21.设字符串类String具有下列操作:int Length()const; //计算字符串的长度chargetData(k); //提取字符串第k个字符的值若字符串Tar的值为“ababcabcacbab“,的值为‘abcac”时,(1)给出下面算法执行后返回的结果,(2)给出下面。

《数据结构》考研C语言版2021考研真题

《数据结构》考研C语言版2021考研真题

《数据结构》考研C语言版2021年考研真题库第一部分名校考研真题全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合真题及详解一、单项选择题:1~40小题,每小题2分,共80分。

下列每题给出的四个选项中,只有一个选项符合题目要求。

请在答题卡上将所选项的字母涂黑。

1已知程序如下:int S(int n){return (n<=0)? 0 : s(n-1)+n;}void main(){cout<<S(1);}程序运行时使用栈来保存调用过程的信息,自栈底到栈顶保存的信息依次对应的是()。

A.main()->S(1)->S(0)B.S(0)->S(1)->main()C.main()->S(0)->S(1)D.S(1)->S(0)->main()【答案】A查看答案【解析】函数S(int n)是一个递归函数:①当实际参数小于等于零时则返回0,并终止递归;②当实际参数大于零时则递归调用S(n-1),并将S(n-1)的结果加上n作为返回值。

程序从main()函数开始,首先调用main()函数;在main()函数中调用S(1)函数时,将main()函数的上下文保存到栈中,并进入函数S(1);由于函数S(1)的实际参数大于零,需要调用S(0),故将S(1)函数的上下文保存到栈中,进入S(0);在S(0)中,实际参数小于等于零,递归终止。

2先序序列为a,b,c,d的不同二叉树的个数是()。

A.13B.14C.15D.16【答案】B查看答案【解析】二叉树的先序遍历定义为:若二叉树为空,则空操作;否则,访问根节点,然后先序遍历左子树,最后先序遍历右子树。

本题中,结点a为二叉树的根节点,左右子树的先序遍历可能存在下面四种情况:①左子树为空,bcd为右子树;②b为左子树,cd为右子树;③bc为左子树,d为右子树;④bcd为左子树,右子树为空。

计算机数据结构考研真题及其答案

计算机数据结构考研真题及其答案

第1章绪论一、选择题1. 算法的计算量的大小称为计算的();A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于();A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(),它必须具备()这三个特性;(1)A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2)A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性4.一个算法应该是();A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C 5. 下面关于算法说法错误的是();A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是();(1)算法原地工作的含义是指不需要任何额外的辅助空间;(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法;(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界;(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为()两大类;A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是();A.循环队列 B. 链表 C. 哈希表 D. 栈9.以下数据结构中,哪一个是线性结构();A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串10.以下那一个术语与数据的存储结构无关?();A.栈 B. 哈希表 C. 线索树 D. 双向链表11.在下面的程序段中,对x的赋值语句的频度为();FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A. O(2n) B.O(n) C.O(n2) D.O(log2n)12.程序段 FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与A[j+1]对换;其中 n为正整数,则最后一行的语句频度在最坏情况下是();A. O(n)B. O(nlogn)C. O(n3)D. O(n2)13.以下哪个数据结构不是多型数据类型();A.栈 B.广义表 C.有向图 D.字符串14.以下数据结构中,()是非线性数据结构;A.树 B.字符串 C.队 D.栈15. 下列数据中,()是非线性数据结构;A.栈 B. 队列 C. 完全二叉树 D. 堆16.连续存储设计时,存储单元的地址();A.一定连续 B.一定不连续 C.不一定连续 D.部分连续,部分不连续17.以下属于逻辑结构的是();A.顺序表 B. 哈希表 C.有序表 D. 单链表二、判断题1. 数据元素是数据的最小单位。

2021年暨南大学数据结构考研真题

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《数据结构域算法》复习题复习问题集-参考答案一判断题(√)1.在决定选择哪个存储结构时,通常不考虑每个节点的值。

(√)2.抽象数据类型与计算机的内部表示和实现无关。

(×)3.线性表采用链式存储结构时,结点和结点内部的存储空间可以是不连续的。

(×)4.链表的每个结点中都恰好包含一个指针。

(×) 5. 链表的删除算法非常简单,因为当链中的一个节点被删除时,计算机会自动向前移动后续单元。

(×) 6. 线性列表的每个节点只能是简单类型,而链表的每个节点可以是复杂类型。

(×) 7. 顺序列表结构适用于顺序访问,而链表适用于随机访问。

(×) 8. 线性表在物理存储空间中也必须是连续的。

(×) 9. 顺序存储只能用于存储线性结构。

(√)10.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。

(√)11.对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。

(√)12.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。

(√)13.两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。

(×)14.二叉树的度为2。

(√)15.如果二叉树使用二叉链表作为存储结构,则n节点二叉树链表中只有n-1个非空的手指字段。

(×) 16. 二叉树中每个节点的两个子树之间的高度差等于1。

(√)17.用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。

(√)18.具有12个结点的完全二叉树有5个度为2的结点。

(√)19.在二叉树的前序遍历序列中,任何节点都在其子节点之前。

(×)20.在冒泡法排序中,关键值较小的元素总是向前移动,关键值较大的元素总是向后移动。

2021年《数据结构》考研真题与考研复习

2021年《数据结构》考研真题与考研复习

2021年《数据结构》考研真题与考研复习在计算机考研的众多科目中,《数据结构》一直占据着重要的地位。

对于准备考研的学子来说,深入了解 2021 年《数据结构》考研真题,并制定有效的复习策略,是成功上岸的关键。

首先,让我们来剖析一下 2021 年《数据结构》的考研真题。

从整体上看,真题的难度适中,但涵盖的知识点非常广泛。

在选择题部分,考查了基本的数据结构概念,如链表、栈、队列、树、图等的特性和操作。

比如,有关于链表中指针操作的细节问题,需要考生对链表的存储结构和操作有清晰的理解。

在填空题中,更多地侧重于算法的具体实现和一些关键代码的填空。

例如,要求考生填写快速排序算法中某一关键步骤的代码,或者给出一个二叉树的遍历结果,让考生反推其结构。

而在解答题部分,综合性和难度都有所提高。

常常会结合多个数据结构和算法来解决一个复杂的问题。

比如,要求设计一个算法来解决在特定场景下的图的遍历或者树的构建与操作。

对于 2021 年的真题,有几个明显的特点值得我们关注。

其一,注重对基础知识的考查,这就要求考生对基本的数据结构和算法有扎实的掌握,不能一知半解。

其二,真题的综合性较强,需要考生能够将不同的数据结构和算法融会贯通,灵活运用。

其三,对算法的理解和代码实现能力要求较高,不再仅仅停留在理论层面。

那么,针对这样的真题特点,我们应该如何进行有效的复习呢?第一,基础知识是重中之重。

要把教材中的基本概念、原理和算法弄清楚,不仅要知道是什么,还要知道为什么和怎么做。

比如,对于链表的插入和删除操作,要能够自己动手写出代码实现,并且理解其中的指针变化过程。

第二,多做练习题和真题。

通过大量的练习,可以加深对知识点的理解,提高解题的速度和准确性。

在做题的过程中,要注重总结归纳,找出自己的薄弱环节,有针对性地进行强化训练。

第三,学会总结和整理。

将相似的知识点进行对比,找出它们之间的异同点。

例如,冒泡排序和快速排序,虽然都是排序算法,但它们的思想和实现方式却有很大的不同。

南京林业大学考研真题—数据结构2021

南京林业大学考研真题—数据结构2021

南京林业大学2021年攻读硕士学位研究生入学考试数据结构试题注意事项:1. 答案一律写在答题纸上;2. 答案卷应字迹清楚、语义确切;3. 算法应对主要数据类型、变量给出说明,所写算法应结构清晰、简明易懂,可加上必要的注释;4. 算法可用(类)PASCAL语言、C语言等你所熟悉的高级语言编写,但要注明语种。

一.是非题:(判断下列各题是否正确,正确的在括号内打“√”,错的打“×”。

每小题2分,共20分)1.数据的逻辑结构独立于计算机,物理结构依赖于计算机。

()2.线性表、栈和队列的逻辑结构完全相同。

()3.顺序存储方式只能用于存储线性结构。

()4.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。

()5.先根遍历树和先序遍历与该树对应的二叉树,其结果不同。

()6.外部排序与外部设备的特性无关。

()7.不使用递归,也可以实现二叉树的先序、中序和后序遍历。

()8.在哈夫曼编码中,当两个字符出现的频率相同时,其编码也相同,对于这种情况应作特殊处理。

()9. 有回路的图不能进行拓扑排序。

()10. 二叉排序树的查找和折半查找的时间性能相同。

()二.单项选择题(本大题共15小题,每小题2分,共30分)。

A.规则B.集合C.结构D.运算2.对于顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。

插入一个元素时大约要移动表中的______个元素。

A.n/2B.(n+1)/2C.(n-1)/2D.n3.线性表采用链式存储时,其地址______。

A. 必须是连续的B. 部分地址必须是连续的C. 一定是不连续的D. 连续与否均可以4.设有一个空栈,栈顶指针为1000H(十六进制,下同,且设每个入栈元素需要1个单位存储空间),现有输入序列为1,2,3,4,5,经过PUSH,PUSH,POP,PUSH,POP,PUSH,POP,PUSH后,栈顶指针是______。

广东财经大学2021年数据结构考研真题

广东财经大学2021年数据结构考研真题

广东财经大学2021年数据构造考研真题考试年度:2021年考试科目代码及名称:809-数据构造(自命题)适用专业:085400电子信息[友情提醒:请在考点提供的专用答题纸上答题,答在本卷或草稿纸上无效!]一、单项选择题(每题2分,共40分)1. 关于线性表的说法正确的选项是()。

B.线性表是特征一样的n(n≥0)个元素构成的有限序列2. 表长为n的顺序存储的线性表,当在任何位置删除一个元素的概率相等时,删除一个元素所需移动元素的平均个数为()。

3. 假设单链表结点构造为(data,next),删除指针p所指结点的后继结点q的语句序列是()。

A.p->next=q->next; free(q);B.p->next=q; free(q);C.free(q);p->next=q->next;D.free(q);p->next=q;4. 设有一个递归算法如下所示,计算F(8)需要调用该递归函数的次数为()。

int F(int n){ if(n<=3) return 1;else return F(n-2)+F(n-4)+1; }5. 假设循环队列Q存储在数组queue[0..n]中,front是队首位置,rear是队尾位置(初始rear=front=0),则元素e入队的操作是()。

A.Q.queue[Q.rear]=e; Q.rear=(Q.rear+1)%n;B.Q.queue[Q.rear]=e; Q.rear=(Q.rear+1)%(n+1);C.Q.rear=(Q.rear+1)%n; Q.queue[Q.rear]=e;D.Q.rear=(Q.rear+1)%(n+1); Q.queue[Q.rear]=e;6. 关于串的表达中不正确的选项是()。

A.串是字符的有限序列C.串既可以采纳顺序存储,也可以采纳链式存储7. 按照从上至下、由左至右的顺序依次编号,深度为7的完全二叉树编号最大的叶结点编号是()。

2021年《数据结构》考研真题与考研复习

2021年《数据结构》考研真题与考研复习

2021年《数据结构》考研真题与考研复习在计算机考研的众多科目中,《数据结构》一直占据着重要的地位。

对于 2021 年准备考研的学子来说,深入了解当年的真题特点以及掌握有效的复习方法至关重要。

先来说说 2021 年《数据结构》的考研真题。

从整体上看,这一年的真题注重对基础知识的考查,同时也不乏一些具有一定难度和综合性的题目。

比如,在链表的相关题目中,不仅要求考生熟悉链表的基本操作,如插入、删除,还要求能够在复杂的场景中准确分析链表的结构和性能。

在树和图的部分,出现了不少关于遍历算法、最短路径以及最小生成树的问题。

这些题目不仅检验了考生对经典算法的理解,更考查了其在实际应用中的灵活运用能力。

再看数组和字符串的题目,重点考查了数组的存储、排序算法以及字符串的匹配等内容。

这部分题目需要考生具备扎实的编程基础和逻辑思维能力。

对于算法分析与设计方面,真题中出现了对时间复杂度和空间复杂度的计算,以及要求考生根据给定的问题设计合适的算法。

了解了真题的特点,接下来谈谈如何进行有效的复习。

首先,基础知识必须扎实。

要对数据结构的基本概念,如线性表、栈、队列、树、图等有清晰的理解。

不能只是死记硬背,要通过实际的例子和编程练习来加深印象。

多做练习题是必不可少的。

可以选择一些经典的教材,如严蔚敏的《数据结构》,上面的练习题很有代表性。

做完题目后,要认真分析错题,找出自己的薄弱环节。

编程实践也非常重要。

通过实际编写代码来实现各种数据结构和算法,能够更好地理解其工作原理和性能特点。

可以利用在线编程平台进行练习。

在复习的过程中,要学会总结归纳。

将相似的知识点和题型进行分类整理,找出它们的规律和解题技巧。

此外,还要关注最新的研究动态和实际应用。

了解数据结构在大数据、人工智能等领域的应用,能够拓宽自己的视野,也有助于在考试中应对一些创新性的题目。

构建知识体系也是关键。

将各个分散的知识点串联起来,形成一个完整的知识网络,这样在遇到综合性的题目时,能够迅速调动相关知识进行分析和解决。

2021年数据结构考研知识点总结

2021年数据结构考研知识点总结

数据构造考研真题及知识点解析考察目的1. 理解数据构造基本概念、基本原理和基本办法。

2. 掌握数据逻辑构造、存储构造及基本操作实现,可以对算法进行基本时间复杂度与空间复杂度分析。

3. 可以运用数据构造基本原理和办法进行问题分析与求解,具备采用C、C++或Java 语言设计与实现算法能力。

第2章线性表一、考研知识点(一)线性表定义和基本操作(二)线性表实现1.顺序存储2.链式存储3.线性表应用二、考研真题(一)选取题近两年第2章没有考选取题,由于此章重要是线性表操作,并且又是这门课一种基本,考综合题也许性比较大,并且可以和第3章、第9章和第10章内容结合来出题。

1.()设n是描述问题规模非负整数,下面程序片段时间复杂度是()。

x=2;while(x<n/2) x=2*x;A.O(logn)B.O(n)C.O(nlogn)D.O(n2)分析:答案是A,此题考查是算法时间复杂度计算。

可以放在第二章,实际这内容贯穿每一章内容中算法度量。

(二)综合题1.()已知一种带有表头结点单链表结点构造为(data,link),假设该链表只给出了头指针list。

在不变化链表前提下,请设计一种尽量高效算法,查找链表中倒数第k个位置上结点(k为正整数)。

若查找成功,算法输出该结点data值,并返回1;否则,只返回0。

规定:(1)描述算法基本设计思想;(2)描述算法详细实现环节;(3)依照设计思想和实现环节,采用程序设计语言描述算法(使用C或C++或JAVA 语言实现),核心之处给出简要注释。

分析:此题考查线性表链式存储,重要是线性表基本操作应用。

做此题时要把握算法效率。

(1)算法基本思想如下:从头到尾遍历单链表,并用指针p指向当前结点前k个结点。

当遍历到链表最后一种结点时,指针p所指向结点即为所查找结点。

(2)详细实现环节:增长两个指针变量和一种整型变量,从链表头向后遍历,其中指针p1指向当前遍历结点,指针p指向p1所指向结点前k个结点,如果p1之前没有k个结点,那么p指向表头结点。

数据结构基础专业硕士2021数据结构考研真题库

数据结构基础专业硕士2021数据结构考研真题库

数据结构基础专业硕士2021数据结构考研真题库一、考研真题选择题解析若平衡二叉树的高度为6,且所有非叶结点的平衡因子均为1,则该平衡二叉树的结点总数为()。

[2012年联考真题]A.12B.20C.32D.33【答案】B !~【解析】本题题目的实际问题是,具有6层结点的平衡二叉树含有最少的结点数是多少。

N h表示深度为h的平衡二叉树中含有的最少结点数,有N0=0,N1=1,N2=2……N h=N h-1+N h-2+1由此可得N5=20。

对应的平衡二叉树如下图所示。

55.对有2个顶点e条边且使用邻接表存储的有向图进行广度优先遍历,其算法时间复杂度是()。

[2012年联考真题]A.0(n)B.0(e)C.O(n+e)D.O(n×e)【答案】C !~【解析】遍历图的过程实质上是对每个顶点查找其邻接点的过程。

其耗费的时间则取决于所采用的存储结构。

当用二维数组表示邻接矩阵图的存储结构时,查找每个顶点的邻接点所需时间为O(n2),其中n为图中顶点数。

而当以邻接表作图的存储结构时,找邻接点所需时间为0(e),其中e为无向图中边的数或有向图中弧的数。

由此,当以邻接表作存储结构时,深度优先搜索遍历图的时间复杂度为O(n+e)。

即可得出正确答案。

56.深度为h的满m叉树的第k层有()个结点(1≤k≤h)。

[北京航空航天大学考研真题]A.m k-1B.m k-1C.m h-1D.m h-1【答案】A !~【解析】满m叉树第k层必有m k-1个结点。

57.若用邻接矩阵存储有向图,矩阵中主对角线以下的元素均为零,则关于该图拓扑序列的结论是()。

[2012年联考真题]A.存在,且唯一B.存在,且不唯一不唯一C.存在,可能不唯一D.无法确定是否存在【答案】C !~【解析】图的基本应用——拓扑排序,用邻接矩阵存储有向图,矩阵中主对角线以下的元素均为零,说明该图为有向无环图,所以其拓扑序列存在,但不一定唯一,如图的邻接矩阵为,则存在两个拓扑序列。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2021年《数据结构》考研真题与考研复习
1.1 知识要点总结
一、数据结构的基本概念
1.基础概念和术语
(1)数据(Data):数据是客观事物的符号表示。

在计算机科学中指的是所有能输入到计算机中并被计算机程序处理的符号的总称。

(2)数据元素(Data Element):数据元素是数据的基本单位,在程序中通常作为一个整体来进行考虑和处理。

(3)数据项(Data Item):数据项是数据的不可分割的最小单位,数据项是对客观事物的某一方面的数据描述。

一个数据元素可由若干个数据项(Data Item)组成。

(4)数据对象(Data Object):数据对象是性质相同的数据元素的集合,是数据的一个子集。

如字符集合C={‘A’,’B’,’C’,…}
(5)数据结构(Data Structure):数据结构是指相互之间存在一定联系(关系)的数据元素的集合。

元素之间的相互联系(关系)称为逻辑结构。

2.数据结构的形式定义
数据结构的形式定义是一个二元组:
Data Structure=(D, S)
其中D是数据元素的有限集,S是D上关系的有限集。

数据元素之间的关系可以是元素之间本身代表的某种自然关系,也可以是为了处理问题方便而人为定义的关系,这种自然或人为定义的关系称为数据元素之间的逻辑关系,相应的结构称为逻辑结构。

3.数据结构的组成
数据结构的三个组成部分:
(1)逻辑结构
数据元素之间的逻辑关系的描述。

数据元素之间的逻辑结构有四种基本类型:
①集合:结构中的数据除了“同属于一个集合”外,没有其它关系。

②线性结构:结构中的数据元素之间存在一对一的关系。

③树形结构:结构中的数据元素之间存在一对多的关系。

④图形结构或网状结构:结构中的数据元素之间存在多对多的关系。

(2)存储结构
数据结构在计算机中的实际表达方式,它包括对数据元素的表示和对关系的表示。

存储结构主要有:顺序存储、链式存储、索引存储和散列存储。

①顺序存储结构:用数据元素在存储器中的相对位置来表示数据元素之间的逻辑结构。

数据元素存放的地址是连续的。

其优点是可以实现随机存取,存储空间小;缺点是只能使用相邻的一整块存储单元,容易产生碎片。

②链式存储结构:在每一个数据元素中增加一个存放另一个元素地址的指针,用该指针来表示数据元素之间的逻辑结构。

对数据元素存放的地址是否连续没有要求。

其优点是能充分利用所有存储单元;缺点是每个结点都需要额外的存储空间,且只能实现顺序存取。

③索引存储结构:在存储元素信息的同时.还建立附加的索引表。

索引表中的每一项称为索引项,索引项的一般形式是:(关键字.地址),关键字唯一标识一个元素,地址作为指向元素的指针。

其优点是检索速度快;缺点是需要额外的存储空间来存放索引表。

④散列(或哈希)存储结构:根据元素的关键字通过哈希函数直接计算出该元素的存储地址。

其优点是检索速度快,缺点是可能存在冲突,而解决冲突会增加时空开销。

(3)数据操作
对数据要进行的运算。

【例】下列有关数据存储结构的叙述中,正确的是()。

A.顺序存储方式只能用于存储线性结构
B.顺序存储方式的优点是占用存储空问小,插入、删除等操作效率高
C.链表的每个结点中都恰好含有一个指针
D.Hash存储的基本思想是由关键词的值决定数据的存储地址
【答案】D查看答案
【解析】顺序存储方式除了用于存储线性结构外,还能存储数组或完全二叉树等非线
性结构,但在插入、删除操作时,由于要移动大量的数据,执行效率低。

链表的形式有单链表、双链表和多重链表,除了单链表外,其他链表中的结点需要两个以上的指针。

二、抽象数据类型
1.数据类型
数据类型(Data Type):数据类型是一个值的集合和定义在该集合上的一组操作的总称。

2.抽象数据类型
抽象数据类型(ADT):是指一个数学模型以及定义在该数据模型上的一组操作。

ADT的定义仅是一组逻辑特性的描述,与其在计算机内的表示和实现无关。

因此,不论ADT内部结构如何变化,只要其数学特性不变,都不影响其外部使用。

ADT的形式化定义是三元组:ADT={D,S,P}。

其中:D是数据对象,S是D上的关系集,P是对D的基本操作集。

三、算法分析
1.算法
(1)概念
算法(Algorithm):算法是对特定问题求解方法(步骤)的一种描述,是指令的有限序列,其中每一条指令表示一个或多个操作。

(2)特性
算法由五个特性:
①有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。

②确定性:算法中每一条指令必须有确切的含义,不存在二义性,且算法只有一个入口和出口。

③可行性:算法描述的操作都可以通过已经实现的基本运算执行有限次来实现。

④输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象集合。

⑤输出:一个算法有一个或多个输出,这些输出同输入有着某些特定关系的量。

(3)评价标准
评价一个好的算法有以下几个标准:
①正确性:算法应满足具体问题的需求。

②可读性:算法应容易供人阅读和交流。

可读性好的算法有助于对算法的理解和修改。

③健壮性:算法应具有容错处理。

当输入非法或错误数据时,算法能适当地做出反应或进行处理。

④通用性:算法应具有一般性,处理结果对于一般数据集合都成立。

⑤效率和存储量需求:效率指的是算法执行的时间;存储量需求指的是执行过程中所需要的最大存储空间。

2.效率的度量
(1)时间复杂度
算法中的基本操作重复执行的次数是问题规模n的某个函数,其时间度量记做T(n)=O(f(n))(其中“O”是指T(n)的数量级),称作算法的渐进时间复杂度,简称时间复杂度。

算法的时间复杂度一般用最深层循环内的语句中的原操作的执行频度(重复执行的次数)来表示。

常用的时间复杂度的关系:
O(1)<O(log2n)<O(n)<O(n log2n)<O(n2)<O(n3)
指数时间复杂度关系为:O(2n)<O(n!)<O(n n)
有的情况下,算法中基本操作重复执行的次数会随问题的输入数据集的不同而不同(2)空间复杂度
空间复杂度指的是算法编写成程序后,在计算机中运行时所需存储空间大小的度量。

记做:S(n)=O(f(n)),其中n为问题的规模。

空间复杂度一般包括三个方面:
①指令常数变量所占用的存储空间。

②输入数据所占用的存储空间。

③辅助存储空间。

【例】有以下算法,其时间复杂度为()。

A.O(1)
B.O(log2n)
C.O(n)
D.(nlog2n)
【答案】B。

查看答案
【解析】基本运算语句为d=d/2(或f=f*f),设其执行时间为T(n),则有:
则T(n)≤log2n=O(log2n)。

注意算法中while循环的if条件中包含的p=p*f语句可以不考虑.因为它执行的次数不超过d=d/2语句的执行次数。

相关文档
最新文档