2018计算机考研:计算机数据结构测试题(九)
南昌大学2018年数据结构真题

一,简答题(60分6题):
1:数据结构包含哪种逻辑结构?各自含义是?
2:给出入栈序列A,B,C,给出两个出栈序列。
3:请写出分块,顺序,折半查找对时间复杂度和空间复杂度的要求。
4:一个满K叉树,叶子结点n0.,其余节点按度分为n1,n2,n3….,结点数m 证明n0=1+n2+2n3+…+(m-1)Nm
还有2个题目,实在想不起来,反正没有难题,大家不用在意
二,综合题(6题60分)
1,堆排序大顶堆
2,有个程序填空题,和插入有关,很简单,不记得了,不写
3,写出下图中5种可能的拓扑排序序列。
4,最小生成树
其余的不记得了
三,编程题(2题30分)
1:十进制转换2进制
2:写一个代码求树的宽度
欢迎加入南昌大学计算机2020考研群:338295866
我们不割韭菜,我们就是想让大家免费拿到专业课资料。
2018计算机专业考研408真题及参考答案

word完美整理版
范文范例学习指导
word完美整理版
范文范例学习指导
word完美整理版
范文范例学习指导
word完美整理版
范文范例学习指导
word完美整理版
范文范例学习指导
word完美整理版
范文范例学习指导
word完美整理版
范文范例学习指导
word完美整理版
范文范例学习指导
word完美整理版
范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版范文范例学习指导word完美整理版您的光临word文档下载后可修改编辑
范文范例学习指导
word完美整理版
范文范例学习指导
欢 迎
2018年清华大学912计算机考研真题

2018年清华大学912计算机考研真题
第一部分数据结构(70分)
1.判断题10×2'
T(n)=T(n/2)+O(1)的解总是T(n)=O(log n)
比较算法CBA的排序与时间复杂度O(nlog n) fibsearch()的前黄金分割点和后黄金分割点
基数排序底层稳定性
最优PFC两不同深度子树互换后不是最优PFC 散列表+双向平方策略+伸展树
未改进的next[]+KMP算法
完全二叉堆的插入时间
2.单选题8×3'
就地算法空间
非法表达式+逆波兰式
evaluate()表达式求值算法
AVL树
B-树的根节点常驻内存,则查找时启动IO次数
单向平方试探策略散列表+LazyRemoval标记
左式堆
随机二进制串好后缀表项gs[0]=1的概率
3.算法题6'+4'+3'
单峰向量:设计算法,在O(log n)时间内找到最大值点位置k,并证明最坏情况下时间复杂度也是O(log n)
4.算法题6'+4'+3'
最大和区间:设计算法求出一组数的最大和区间,要求:O(n)才能得分,O(n)才可能得满分,蛮力算法、枚举都不得分。
浙江理工大学991数据结构2018年考研真题

I=s = 0;
While (s<n)
{ቤተ መጻሕፍቲ ባይዱ
i++;
s+=i;
}
3. 在一个长度为 n 的顺序表中删除第 i 个元素( 0 i n 1)时,需向前移动_____________个元
素。
4. 在一个单链表中删除 P 所指结点时,应执行以下操作:
Q = P->next;
P->data = P->next->data;
A. 先序遍历
B. 中序遍历
C. 后序遍历
D. 按层遍历
10. 设矩阵 A 是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一维数组 B[1,
n(n-1)/2]中,对任一下三角部分中任一元素 aij( i j ),在一组数组 B 的下标位置 K 的值是______。
A. i(i-1)/2+j-1 C. i(i+1)/2+j-1
P-next = __________;
Free(Q);
5. 带头结点的双循环链表 L 中只有一个元素结点的条件是
。
6. 区分循环队列的满与空,有两种方法,它们是
和
。
7. 具有 n 个顶点的无向连通图 G 中至少有
条边。
8. 在堆排序和快速排序中,若原始记录接近正序或反序,则选用
比较好。
第 2 页 ,共 5 页
12. 对序列{15,9,7,8,20,-1,4}进行排序,进行一趟排序后,数据的排列变为{4,9,-1,
8,20,7,15};则采用的是哪一种排序。( )
A.快速排序
B.冒泡排序
C.希尔排序
D.选择排序
13. 若需在O(log2 n) 的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是
考研计算机专业基础题库数据结构练习题

考研计算机专业基础题库数据结构练习题一、选择题1. 以下哪种数据结构适合用于表示并操作大量具有层次关系的数据?A. 队列B. 栈C. 树D. 图正确答案:C解析:树结构适合表示并操作具有层次关系的数据,例如文件系统、组织结构等。
2. 在二叉树中,每个节点最多有几个子节点?A. 0B. 1C. 2D. 多于2正确答案:C解析:二叉树中每个节点最多有两个子节点。
3. 在链表中,节点之间的连接关系通过什么方式表示?A. 数组索引B. 指针C. 标签D. 无连接正确答案:B解析:链表中的节点通过指针实现之间的连接关系。
4. 哪种数据结构可以实现先进先出(FIFO)的操作方式?A. 队列B. 栈C. 树D. 图正确答案:A解析:队列是一种先进先出的数据结构。
5. 下列哪个算法用于对一组数据进行排序?A. 二分查找B. 广度优先搜索C. 深度优先搜索D. 快速排序正确答案:D解析:快速排序是一种用于对一组数据进行排序的算法。
二、填空题1. 在二叉搜索树中,左子树节点值均小于根节点值,右子树节点值均大于根节点值,这一特性被称为_二叉搜索树的性质_。
2. 通过什么方式可以遍历一个二叉树的所有节点?_前序遍历_、_中序遍历_、_后序遍历_3. 堆是一种完全二叉树,并且堆中的任意父节点的值都_大于等于_或_小于等于_其子节点的值。
4. 图中描述节点之间的连接关系的数据结构称为_邻接表_。
5. 广度优先搜索算法可以用于解决_最短路径问题_。
三、简答题1. 请简要介绍树的基本概念和常见应用。
树是一种非线性的数据结构,由节点和连接节点的边构成。
树中的节点分为根节点、叶节点和中间节点。
树的层次由根节点开始计算,根节点位于第0层,其子节点位于第1层,以此类推。
常见的树结构包括二叉树、二叉搜索树、AVL树和B树等。
树的应用非常广泛,例如文件系统的目录结构可以用树来表示,组织结构、家谱等层次关系也可以用树来描述。
此外,树还可以用于算法中,例如树的遍历和查找操作。
复旦大学计算机专业知识(数据结构、计算机网络、操作系统)考研真题试题2018年(回忆版)

2018年复旦大学硕士研究生入学考试试题960回忆版(注意:所有的阿拉伯数字标号不是确切题号,仅作为分隔题目使用)数据结构部分一、填空题(一空2分)1、三对角矩阵元素地址的计算:求三对角矩阵(行优先存储)A[1...100,1...100]中的第66行第65列元素在一维数组B[1...258]中的位置;2、考察一个字符序列的KMP失效序列;3、顺序队列假溢出判断条件,队列存在[0....m-1]的数组中(front初始为-1);4、度为K的树,1个n1,2个n2...k个nk,求叶节点个数;5、线索二叉树(前序、中序、后序都要懂,才能根据题目做出判断);根结点右子树的最左的无左子树结点的前驱是根结点左子树最右无右子树的结点,问这棵树不可能是一颗________序线索化二叉树;6、AVL树RL型旋转(其它三种也得会);7、哈希表n个同义词冲突用线性探测法,求总的查找和比较次数;8、快速排序,堆排序,归并排序的空间复杂度从优到劣依次是_____;9、n个结点的有向图,图是连通的,那么图中至少有多少条边;10、对邻接矩阵存储的图,BFS的时间复杂度;二、简答题1、两个字符串S1,S2的长度分别为m(主串),n(子串),利用KMP算法求出最大的公共序列;推导复杂度(4分);2、给段代码让判断是否可以正确的得到一个带权无向图的最小生成树(破圈法);3、迪杰斯特拉算法填空;(一空2分,共5个空10分);4、装填因子0.75,10个关键字,冲突后用链地址法处理,用除留余数法自己构造哈希函数,画哈希表,并计算查找成功和不成功时的平均查找长度;5、AVL树本来平衡,然后查找K失败,插入K后一定会使得树高增加吗?为什么?6、n个关键字,只要求得到排序后的前k(n>>k)个最小值,问在希尔排序,快速排序,插入排序、堆排序....这些排序算法中选哪个好,为什么;给定一个序列,只要排序后的前两个数,用你之前选择的排序算法计算总的比较次数;三、算法设计题(每题15分)1、在AVL树中,设计一个用非递归的方法从大到小输出所有关键值不小于给定值x的结点信息,代码要给出注释,说明算法思想。
[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编9.doc
![[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编9.doc](https://img.taocdn.com/s3/m/20c93de3011ca300a7c39083.png)
[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编9一、综合题1 如果只要找出一个具有n个元素的集合的第k(1≤k≤n)个最小元素,你所学过的排序方法中哪种最适合?给出实现的思想。
【北方交通大学1998六(10分)】2 设结点个数为n,请问采用堆排序法进行排序,其时间复杂性是多少?请以大O 形式给出,并给出证明。
【上海交通大学2004四(10分)】2 已知待排序的序列为(503,87,512,6l,908,170,897,275,653,462),试完成下列各题。
3 根据以上序列建立一个堆(画出第一步和最后堆的结果图),希望先输出最小值。
4 输出最小值后,如何得到次小值(并画出相应结果图)。
【同济大学2001二(10分)】4 试将关键字序列(56,塾,55,67,46,58,18,88)5 调整成一个初始大顶堆,用二叉树形式说明调整过程;6 简要说明如何从初始大顶堆开始进行排序。
【华中科技大学2007四、24(10分)】7 一组记录的关键字为(50,79,8,56,32,41,85),给出利用重建堆方法建立的初始堆(堆顶最大),并给出堆排序的过程。
【吉林大学2007二、5(4分)】8 已知序列{503,87,512,61,908,170,897,275,653,462)将其调整为堆(大堆顶,即K i≥K2i,K i≥K2i+1)。
【中国海洋大学2006一、4(8分)】9 给定关键字序列(20,18,9,86,72,12,27,40)。
试将该序列建成小根堆。
10 判断下面的每个结点序列是否表示一个堆,如果不是堆,请把它调整成堆。
①100,90,80,60,85,75,20,25,10,70,65,50②100,70,50,20,90,75,60,25,10,85,65,80【复旦大学1997二(8分)】11 全国有10000人参加物理竞赛,只录取成绩优异的前10名,并将他们从高分到低分输出。
数据结构-9_真题(含答案与解析)-交互

数据结构-9(总分100, 做题时间90分钟)一、单项选择题在每小题列出的四个选项中只有一个选项是符合题目要求的1.如果待排序的记录的规模很大,则在下面的排序方式中,我们最好不要选择使用( )SSS_SINGLE_SELA 快速排序B 直接插入排序C 堆排序D 归并排序分值: 2答案:B2.设数组A[0,m]作为循环队列sq的存储空间,front为队头指针,rear为队尾指针,则执行入队操作的语句是( )SSS_SINGLE_SELA sfront=(sfront+1)%mB sfront=(sfront+1)%(m+1)C srear=(srear+1)%mD srear=(srear+1)%(m+1)分值: 2答案:D3.线性表若采用链表存储结构时,要求内存中可用存储单元的地址( ) SSS_SINGLE_SELA 必须是连续的B 部分地址必须是连续的C 一定是不连续的D 连续不连续都可以分值: 2答案:D4.串是一种特殊的线性表,其特殊性体现在( )SSS_SINGLE_SELA 可以顺序存储B 数据元素是一个字符C 可以链接存储D 数据元素可以是多个字符分值: 2答案:B5.对广义表((a),(b))进行下面的操作head(head((a),(b)))后的结果是( )SSS_SINGLE_SELA aB (C ( )D 不确定分值: 2答案:A6.将含有83个结点的完全二叉树从根结点开始编号,根为1号,后面按从上到下、从左到右的顺序对结点编号,那么编号为41的结点的双亲结点编号为( )SSS_SINGLE_SELA 42B 40C 21D 20分值: 2答案:D7.带头结点的单链表Head为空的判定条件是( )SSS_SINGLE_SELA Head=NULL;B Head↑.next=NULL;C Head↑.nextHead;D Head↑.next=Head↑分值: 2答案:B8.堆是一个键值序列(k1,k2,k…,k1…,k),对i=1,2…,[n/2],满足( )SSS_SINGLE_SEL Ak i ≤k2i≤k2i+1Bk i <k2i<k2i+1Ck i ≤k2i且k≤k2i+1(2i+1≤Dk i ≤k2i或ki≤k2i+l(2i+1≤分值: 2答案:C9.链栈与顺序栈相比,有一个比较明显的优点即( )SSS_SINGLE_SELA 插入操作更加方便B 通常不会出现栈满的情况C 不会出现栈空的情况D 删除操作更加方便分值: 2答案:B10.判断一个有向图是否存在回路,除了可以利用拓扑排序方法,还可以利用( )SSS_SINGLE_SELA 求关键路径的方法B 求最短路径的Dijkstra方法C 广度优先遍历方法D 深度优先遍历方法分值: 2答案:D11.如果T2是由有序树T转换而来的二叉树,那么T中结点的后序就是T2中结点的( )SSS_SINGLE_SELA 前序B 中序C 后序D 层次序分值: 2答案:B12.假设有一个数组,它的行号从0到8,列号从0到10,数组中每个元素所占的存储空间为3个单元,则现在将此数组从某一个地址开始连续存放在一个存储器中,试问至少需要( )个存储单元才能完全将此数组存放进去。
数据结构练习题及参考答案

《数据结构》练习题一、解答题(共50分)1、(8分)假设用于通讯的电文字符集及其出现的频率如下表所示。
请为这8个字符设计哈夫曼编码,并画出其哈夫曼树,计算WPL 。
2. (8分)若一棵二叉树中序遍历和后序遍历序列分别为:DBEHGAFIC 和DHGEBIFCA 。
试画出这棵二叉树,并写出其先序遍历和层序遍历序列。
3.(16分)以下无向网络以邻接表为存储结构(假设邻接表的顶点表按字母a 、b 、c 、d 、e 、f 、g 、h 的顺序依次存储,邻接表的边表结点按顶点的下标由小到大链接)。
请画出其邻接表,并写出从顶点f 出发,分别进行深度和广度优先遍历的序列,写出用Prime 方法从顶点c开始产生最小生成树的边的序列。
4.(8分)已知键值序列为(44,39,67,25, 52,59,43,84,54,58,15,26,12,73,92,69),取填充因子α=0.8,采用线性探查法处理冲突,试构造散列表。
⒌(5分)已知一组记录为(67,88,15,12,60,37,7,31,45,81),用希尔排序方法进行排序,d1=5,d2=3,d3=1,则第二趟的排序结果是( )。
⒍(5分)已知一组记录为(67,88,15,12,60,37,7,31,45,81) ,用堆(大根堆)排序方法进行排序,第一趟的排序结果是( )。
二、完善程序(共20分,每空2分)1.假设一组递减有序的原始数据存储在数组r 中,存放元素的下标下限为low,下标上字符 出现频率 a 0.05 b 0.03 c 0.24 d 0.16 e 0.08 f 0.24 g 0.18 h0.02限为high,以下是在数组中查找数值为k的折半查找算法。
请填空完善程序。
int BinSearch(int r[ ], int low,int high,int k){ int l,h,m;l= low; h= high;while ( ⑴){m= ⑵;if (k < r[m]) ⑶;else if (k > r[m]) ⑷;else return m;}return 0;}2. 以下程序功能是将数组r中,从下标first到end之间的元素进行快速排序的分区。
2018年暨南大学数据结构考研试题答案

一、选择题1. B【解答】由n0=n2+1可得,n2=10,所以分支数为:2*10+1*2=222. D【解答】满二叉树的结点最多3. A【解答】可以直接画出二叉树如下所示,从而直接得到结果4. B【解答】看清楚题目所要求的,为逆邻接表,根据定义,所以为出度5. A6. B7. C8. B9. A【解答】根据数组给出的顺序,可以将之画成完全二叉树,看哪一个选项满足情况。
10. B【解答】在本题中,因为是对称矩阵,那么直接存储下三角元素即可。
存储方法为a11a12 a22a13 a23 a33a14 a24 a34 a44a15 a25 a35 a45 a55...a18 a28 a38 a48 a58一共1+2+3+4+5+6+7+5=3311. D【解答】可能该队列只存在一个节点12. C【解答】画出Huffman树的得,可以得到带权路径长度为:7*1+5*2+(2+4)*3=3513. C14. C15. D二、填空题1. 为了保证处理第一个节点和后面的节点的时候设计的算法相同,实现程序的高效性。
2. 队列3. 是有序的顺序表4. 遍历其右子树时第一个访问的结点,即右子树的最左下结点。
5. 最小近6. m-17. O(n)8. 题目说的不是很清楚,若是采用邻接矩阵存储,那么时间复杂度为O(n^2),若是采用邻接表存储,那么时间复杂度为O(n+e)9. 距离源点路径长度小的三、判断题1. X2. X3. √4. X5. √6. √(最小生成树的形态可能不唯一)7. √8. √9. √10. √四、解答题1. 拓扑排序的序列可能为:a) 1、2,、3、4、5、6b) 1、2、4、3、5、6c) 2、1、3、4、5、6d) 2、1、4、3、5、6对于有向无环图,还可以采用深度优先遍历算法。
2. 该二叉树为:3. 第一趟:12 2 4 3 6 13 18 9 19 8第二趟:3 2 4 8 6 13 12 9 19 18第三趟:3 2 4 8 6 9 12 13 19 18第四趟:2 3 4 6 8 9 12 13 18 194. 构造的散列表如下:0 1 2 3 4 5 6 7 8 9 1033 41 30 1 20 24 13 67查找成功的平均查找长度为:(1+1+2+2+1+1+1+6)/8=15/85. 该问题的实质:单源最短路径,需要一个个的进行分析再得到结果a) 假设学校建在ab->a 的路径长度为6c ->a 的路径长度为2+1+6=9d->a 的路径长度为1+6=7e->a 的路径长度为5+1+6=12那么总共需要的距离之和为:6+9+7+12=34b) 假设学校建在ba->b 的路径长度为1c->b 的路径长度为2+1=3d ->b 的路径长度为1e ->b 的路径长度为5+1=6那么总共需要的距离之和为:1+3+1+6=11c) 假设建在ca->c 1+2=3;b->c 2;d->c 3 e->c 5+3=8那么总共需要的距离之和为:3+2+3+8=16d) 假设建在da->d 1+2+2=5; b->d 2+2=4; c->d 2; e->d 5那么总共需要的距离之和为:5+4+2+5=16e) 假设建在ea->e 1+2+4=7; b->e 2+4=6; c->e 4; d->e 3+4=7那么总共需要的距离之和为:7+6+4+7=24综上比较可知,建在b较好。
考研数据结构试题及答案

考研数据结构试题及答案一、选择题(每题2分,共10分)1. 在数据结构中,线性表的顺序存储结构通常使用什么数据结构来实现?A. 链表B. 栈C. 数组D. 队列答案:C2. 下列关于图的描述中,错误的是:A. 图是由顶点和边组成的B. 图中的边可以是无向边或有向边C. 图中任意两个顶点之间有且只有一条边D. 图可以是无向的或有向的答案:C3. 哈希表的冲突可以通过以下哪种方法来解决?A. 链地址法B. 排序C. 插入排序D. 选择排序答案:A4. 在二叉树的遍历算法中,先访问根节点,然后遍历左子树,最后遍历右子树,这种遍历方式被称为:A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A5. 在排序算法中,时间复杂度为O(nlogn)的算法是:A. 冒泡排序B. 快速排序C. 插入排序D. 选择排序答案:B二、填空题(每题2分,共10分)1. 在二叉搜索树中,对于任意节点,其左子树中的所有节点的值都比该节点的值________。
答案:小2. 堆是一种特殊的完全二叉树,其中每个节点的值都大于或等于其子节点的值的堆被称为________。
答案:最大堆3. 在图的遍历中,深度优先搜索(DFS)使用的数据结构是________。
答案:栈4. 动态数组在进行插入操作时,如果数组已满,通常需要进行________操作。
答案:扩容5. 快速排序算法在最坏情况下的时间复杂度是________。
答案:O(n^2)三、简答题(每题5分,共20分)1. 请简述什么是递归,并举例说明递归在数据结构中的应用。
答案:递归是一种方法,它允许函数调用自身来解决问题。
在数据结构中,递归常用于遍历树和图,例如二叉树的前序、中序和后序遍历。
2. 描述排序算法中的稳定性和不稳定性,并给出一个稳定性排序算法的例子。
答案:稳定性排序算法是指在排序过程中,相等的元素的相对顺序不会改变。
不稳定性排序算法则可能改变相等元素的相对顺序。
数据结构考试题库及答案2018

数据结构期末考试题库及答案2018目录第1章绪论 (1)第2章线性表 (4)第3章栈和队列 (8)第4章串、数组和广义表 (12)第5章树和二叉树 (16)第6章图 (20)第7章查找 (22)第8章排序 (28)第1章绪论1.选择题(1)数据结构是指(1. A )。
A.数据元素的组织形式B.数据类型C.数据存储结构D.数据定义(2)计算机内部数据处理的基本单位是(10. B )。
A.数据B.数据元素C.数据项D.数据库(3)数据结构中,与所使用的计算机无关的是数据的 C 结构.A) 存储 B) 物理 C) 逻辑 D) 物理和存储【解析】[解析] 数据结构概念一般包括数据的逻辑结构、存储结构及数据上的运算集合等。
数据的逻辑结构只抽象地反映数据元素之间的逻辑关系,而不管它在计算机中的存储形式。
(4)算法分析的目的是____C________A) 找出数据结构的合理性 B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进 D) 分析算法的易懂性和文档性(5)计算机算法必须具备输入、输出和 B 等5个特性。
A) 可行性、可移植性和可扩充性 B) 可行性、确定性和有穷性C) 确定性、有穷性和稳定性 D) 易读性、稳定性和安全性(6)在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构答案:C(7)与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。
A.存储结构 B.存储实现C.逻辑结构 D.运算实现答案:C(8)通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着()。
A.数据具有同一特点B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致C.每个数据元素都一样D.数据元素所包含的数据项的个数要相等答案:B(9)以下说法正确的是()。
A.数据元素是数据的最小单位B.数据项是数据的基本单位C.数据结构是带有结构的各数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构答案:D解释:数据元素是数据的基本单位,数据项是数据的最小单位,数据结构是带有结构的各数据元素的集合。
2018年计算机考研真题及参考答案

2018年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合试题一、单项选择题:第1~40小题,每小题2分,共80分。
下列每题给出的四个选项中,只有一个选项最符合试题要求。
1.若栈S1中保存整数,栈S2中保存运算符,函数F()依次执行下述各步操作:(1)从S1中依次弹出两个操作数a和b;(2)从S2中弹出一个运算符op;(3)执行相应的运算b op a;(4)将运算结果压人S1中。
假定S1中的操作数依次是5, 8, 3, 2(2在栈顶),S2中的运算符依次是*, - , +(+在栈顶)。
调用3次F()后,S1栈顶保存的值是。
A. -15B. 15C. -20D. 202. 现有队列Q与栈S,初始时Q中的元素依次是1, 2, 3, 4, 5, 6(1在队头),S为空。
若仅允许下列3种操作:①出队并输出出队元素;②出队并将出队元素人栈;③出栈并输出出栈元素,则不能得到的输出序列是。
A. 1, 2, 5, 6, 4, 3B. 2, 3, 4, 5, 6, 1C. 3, 4, 5, 6, 1, 2D. 6, 5, 4, 3, 2, 13. 设有一个12×12的对称矩阵M,将其上三角部分的元素m i, j(1≤i≤j≤12)按行优先存人C 语言的一维数组N中,元素m6, 6在N中的下标是。
A. 50B. 51C. 55D. 664. 设一棵非空完全二叉树T的所有叶结点均位于同一层,且每个非叶结点都有2个子结点。
若T有k个叶结点,则T的结点总数是。
A. 2k-1B. 2kC. k2D. 2k-15. 已知字符集{a, b, c, d, e, f},若各字符出现的次数分别为6, 3, 8, 2, 10, 4,则对应字符集中各字符的哈夫曼编码可能是。
A. 00, 1011, 01, 1010, 11, 100B. 00, 100, 110, 000, 0010, 01C. 10, 1011, 11, 0011, 00, 010D. 0011, 10, 11, 0010, 01, 0006. 已知二叉排序树如下图所示,元素之间应满足的大小关系是。
计算机数据结构考研真题及其答案

第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. 数据元素是数据的最小单位。
数据结构试题及答案考研

数据结构试题及答案考研试题:一、单项选择题(每题2分,共10分)1. 在数据结构中,下列哪个概念是为了解决动态数据存储问题而提出的?()A. 栈B. 队列C. 链表D. 数组2. 对于长度为n的有序数组,使用二分查找法查找一个元素的平均时间复杂度是()A. O(n)B. O(n^2)C. O(log n)D. O(1)3. 在图的遍历算法中,深度优先搜索(DFS)使用的数据结构是()A. 栈B. 队列C. 链表D. 数组4. 哈希表的冲突可以通过多种方式解决,其中不是常用的方法是()A. 开放寻址法B. 链地址法C. 线性探测法D. 跳房子法5. 下列数据结构中,哪个不是树形结构?()A. 堆B. 二叉搜索树C. 哈夫曼树D. 邻接矩阵二、简答题(每题5分,共20分)1. 请简述什么是堆栈,并说明它们在计算机科学中的重要性。
2. 描述一下什么是平衡二叉树,并解释为什么它在数据库索引中非常有用。
3. 解释一下什么是图的最小生成树,并给出Prim算法的基本思想。
4. 什么是哈希表?为什么哈希表在解决冲突时需要一个好的哈希函数?三、算法设计题(每题15分,共30分)1. 给定一个整数数组,请设计一个算法找出数组中的最长递增子序列。
请给出算法的基本思想,并说明其时间复杂度。
2. 请设计一个算法,实现两个链表是否相交的检测。
如果相交,请返回交点的节点;如果不相交,返回null。
请给出算法的基本思想,并说明其时间复杂度。
四、综合题(共40分)1. 给定一个字符串,请实现一个函数,该函数可以计算出该字符串中所有子字符串的频率。
要求使用哈希表来存储子字符串及其频率。
请描述算法的步骤,并分析其时间复杂度和空间复杂度。
(20分)2. 请解释什么是B树,并说明为什么B树在数据库系统中被广泛使用。
(20分)答案:一、单项选择题1. C(链表)2. C(O(log n))3. A(栈)4. D(跳房子法)5. D(邻接矩阵)二、简答题1. 堆栈是一种特殊的数据结构,遵循后进先出(LIFO)原则。
数据结构试题集(包含答案 完整版)

第一章概论一、选择题1、研究数据结构就是研究( D )。
A. 数据的逻辑结构B. 数据的存储结构C. 数据的逻辑结构和存储结构D. 数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。
A. 空间复杂度和时间复杂度B. 正确性和简单性C. 可读性和文档性D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。
A. 图B. 树C. 广义表D. 栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。
A. 可执行性、可移植性和可扩充性B. 可执行性、有穷性和确定性C. 确定性、有穷性和稳定性D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。
for(i=0;i<m;i++)for(j=0;j<n;j++)a[i][j]=i*j;A. O(m2)B. O(n2)C. O(m*n)D.O(m+n)6、算法是( D )。
A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。
A. O(n)B. O(nlog2n)C. O(n2)D. O(log2n)8、下面程序段的时间复杂度为( C )。
i=1;while(i<=n)i=i*3;A. O(n)B. O(3n)C. O(log3n)D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。
A. 结构B. 关系C. 运算D. 算法10、下面程序段的时间复杂度是(A )。
i=s=0;while(s<n){i++;s+=i;}A. O(n)B. O(n2)C. O(log2n)D. O(n3)11、抽象数据类型的三个组成部分分别为( A)。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是()。
考研数据结构测试题及答案

考研数据结构测试题及答案### 考研数据结构测试题及答案#### 一、选择题1. 在数据结构中,以下哪种结构不是线性结构?A. 栈B. 队列C. 树D. 图答案:C2. 一个长度为n的有序数组,使用二分查找算法查找一个元素,最多需要比较几次?A. nB. log₂nC. n/2D. nlog₂n答案:B3. 以下哪个是链表的优点?A. 随机访问B. 插入和删除不需要移动元素C. 存储空间利用率高D. 所有都是答案:B#### 二、简答题1. 简述堆栈(Stack)的基本操作,并说明它们的特点。
答案:堆栈的基本操作包括:- Push:向栈顶添加一个元素。
- Pop:移除栈顶的元素,并返回该元素。
- Peek/Top:查看栈顶元素,但不移除它。
- IsEmpty:判断栈是否为空。
特点:- 遵循后进先出(LIFO)原则。
- 插入和删除操作都在栈顶进行,时间复杂度为O(1)。
2. 描述二叉搜索树(BST)的插入操作。
答案:二叉搜索树的插入操作如下:1. 从根节点开始,如果待插入节点的值小于当前节点的值,则移动到左子树。
2. 如果待插入节点的值大于当前节点的值,则移动到右子树。
3. 重复步骤1和2,直到找到一个空位置,将新节点插入。
4. 如果新节点的值等于当前节点的值,根据具体实现,可以选择不插入或覆盖现有节点。
#### 三、编程题1. 编写一个函数,实现单链表的反转。
```cstruct ListNode {int val;struct ListNode *next;};void reverseList(struct ListNode head) {struct ListNode *prev = NULL, *curr = *head, *next = NULL;while (curr != NULL) {next = curr->next;curr->next = prev;prev = curr;curr = next;}*head = prev;}```2. 给定一个整数数组,编写一个函数,找出数组中最长的连续子数组的长度。
2018年山东省中国海洋大学计算机基础综合考研真题

2018年山东省中国海洋大学计算机基础综合考研真题第一部分数据结构一、选择题(每题2分,共20分)1.逻辑上通常可以将数据结构分为()。
A.动态结构和静态结构B.顺序结构和链式结构C.线性结构和非线性结构D.初等结构和组合结构2.线性表是n个具有相同类型()的有限序列(n>=0)。
A.表元素B.字符C.数据元素D.数据项3.在长度为n的顺序表的第i个位置上插入一个元素(1<=i<=n+1),元素的移动次数为()。
A.n-i+1B.n-iC.iD.i-14.假设带头结点的单向循环链表的头指针为head,则该链表为空的判定条件是()。
A.head==NULLB.head->next==NULLC.head!=NULLD.head->next=head5.在计算机内实现递归算法时所需的辅助数据结构是()。
A.栈1B.队列C.树D.图6.广义表((a.b).c.d)的表头是()。
A.aB.a,bC.(a,b)D.(a,b),c.d7.二维数组A[8][9]按行优先顺序存储,若数组元素A[2][3]的存储地址为1087,A[4][7]的存储地址为1153,则数组元素A[6][7]的存储地址为()。
A.1207B.1209C.1211D.12138.下列陈述中正确的是()。
A.二叉树是度为2的有序树B.二叉树中结点只有一个孩子时无左右之分C.二叉树中必有度为2的结点D.二叉树中最多只有两棵子树,并且有左右之分9.以下查找方法中,查找效率与记录个数n无直接关系的是()。
A.顺序查找B.折半查找C.哈希查找D.二叉排序树查找10.下列排序算法中,算法()在进行一趟相应的排序处理结束后不一定能选出一个元素放到其最终位置上。
A.直接选择排序B.冒泡排序C.归并排序D.堆排序二、简答题(每题12分,共36分)1.假设一棵二叉树的层次遍历序列为ABCDEFGHIJ,中序遍历序列为DBGEHJACIF,请画出这棵二叉树。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018计算机考研:计算机数据结构测试题(九) 2018考研,计算机专业课考试科目为:计算机组成原理、数据结构、操作系统以及计算机网络等,需要大家记忆的知识点有很多,但是不能死机硬背,还是要理解为主的,融会贯通才能把题做好,拿到高分,小编就为大家分享计算机数据结构测试题及参考答案,希望计算机考研的考生在复习之余能够认真做题,巩固知识。
计算机数据结构测试题(九)
一、选择题(24分)
1.下面关于线性表的叙述错误的是( )。
(A) 线性表采用顺序存储必须占用一片连续的存储空间
(B) 线性表采用链式存储不必占用一片连续的存储空间
(C) 线性表采用链式存储便于插入和删除操作的实现
(D) 线性表采用顺序存储便于插入和删除操作的实现
2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有( )个空指针域。
(A) 2m-1 (B) 2m (C) 2m+1 (D) 4m
3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为( )。
(A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M
4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为( )。
(A) BADC (B) BCDA (C) CDAB (D) CBDA
5.设某完全无向图中有n个顶点,则该完全无向图中有( )条边。
(A) n(n-1)/2 (B) n(n-1) (C) n2 (D) n2-1
6.设某棵二叉树中有2000个结点,则该二叉树的最小高度为( )。
(A) 9 (B) 10 (C) 11 (D) 12
7.设某有向图中有n个顶点,则该有向图对应的邻接表中有( )个表头结点。
(A) n-1 (B) n (C) n+1 (D) 2n-1
8.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为( )。
(A) 2,3,5,8,6 (B) 3,2,5,8,6
(C) 3,2,5,6,8 (D) 2,3,6,5,8
二、填空题(24分)
1. 1. 为了能有效地应用HASH查找技术,必须解决的两个问题是
____________________和__________________________。
2. 2. 下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。
typedef struct {int s[100]; int top;} sqstack;
void push(sqstack &stack,int x)
{
if (stack.top==m-1) printf(“overflow”);
else {____________________;_________________;}
}
3. 3. 中序遍历二叉排序树所得到的序列是___________序列(填有序或无序)。
4. 4. 快速排序的最坏时间复杂度为___________,平均时间复杂度为__________。
5. 5. 设某棵二叉树中度数为0的结点数为N0,度数为1的结点数为N1,则该二叉树中度数为2的结点数为_________;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有_______个空指针域。
6. 6. 设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则
e=_______。
7. 7. 设一组初始记录关键字序列为(55,63,44,38,75,80,31,56),则利用筛选法建立的初始堆为___________________________。
8. 8. 设某无向图G的邻接表为,则从顶点V1开始的深度优先遍历序列为
___________;广度优先遍历序列为____________。
三、应用题(36分)
1. 1. 设一组初始记录关键字序列为(45,80,48,40,22,78),则分别给出第4趟简单选择排序和第4趟直接插入排序后的结果。
2. 2. 设指针变量p指向双向链表中结点A,指针变量q指向被插入结点B,要求给出在结点A的后面插入结点B的操作序列(设双向链表中结点的两个指针域分别为llink和rlink)。
3. 3. 设一组有序的记录关键字序列为(13,18,24,35,47,50,62,83,90),查找方法用二分查找,要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度。
4. 4. 设一棵树T中边的集合为{(A,B),(A,C),(A,D),(B,E),(C,F),(C,
G)},要求用孩子兄弟表示法(二叉链表)表示出该树的存储结构并将该树转化成对应的二叉树。
5. 5. 设有无向图G(如右图所示),要求给出用普里姆算法构造最小生成树所走过的边的集合。
6. 6. 设有一组初始记录关键字为(45,80,48,40,22,78),要求构造一棵二叉排序树并给出构造过程。
四、算法设计题(16分)
1. 1. 设有一组初始记录关键字序列(K1,K2,…,Kn),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于Ki,右半部分的每个关键字均大于等于Ki。
2. 2. 设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用链式存储结构表示。
计算机数据结构测试题(九)答案
一、选择题
1.D
2.B
3.C
4.A
5.A
6.C
7.B
8.C
二、填空题
1. 1. 构造一个好的HASH函数,确定解决冲突的方法
2. 2. stack.top++,stack.s[stack.top]=x
3. 3. 有序
4. 4. O(n2),O(nlog2n)
5. 5. N0-1,2N0+N1
6. 6. d/2
7. 7. (31,38,54,56,75,80,55,63)
8. 8. (1,3,4,2),(1,3,2,4)
三、应用题
1. 1. (22,40,45,48,80,78),(40,45,48,80,22,78)
2. 2. q->llink=p; q->rlink=p->rlink; p->rlink->llink=q; p->rlink=q;
3. 3. 2,ASL=91*1+2*2+3*4+4*2)=25/9
4. 4. 树的链式存储结构略,二叉树略
5. 5. E={(1,3),(1,2),(3,5),(5,6),(6,4)}
6. 6. 略
四、算法设计题
1. 1. 设有一组初始记录关键字序列(K1,K2,…,Kn),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于Ki,右半部分的每个关键字均大于等于Ki。
void quickpass(int r[], int s, int t)
{
int i=s, j=t, x=r[s];
while(i
while (ix) j=j-1; if (i
while (i
}
r[i]=x;
}
2. 2. 设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用链式存储结构表示。
typedef struct node {int data; struct node *next;}lklist;
void intersection(lklist *ha,lklist *hb,lklist *&hc)
{
lklist *p,*q,*t;
for(p=ha,hc=0;p!=0;p=p->next)
{ for(q=hb;q!=0;q=q->next) if (q->data==p->data) break;
if(q!=0){ t=(lklist *)malloc(sizeof(lklist)); t->data=p->data;t->next=hc;
hc=t;}
}
}
以上就是为大家整理的计算机数据结构测试题及参考答案,希望能够帮助大家更好的备考,祝大家能够取得好成绩!。