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个单元,则现在将此数组从某一个地址开始连续存放在一个存储器中,试问至少需要( )个存储单元才能完全将此数组存放进去。
- 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;}
}
}
以上就是为大家整理的计算机数据结构测试题及参考答案,希望能够帮助大家更好的备考,祝大家能够取得好成绩!。