数据结构和操作系统试题

合集下载

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。

山东科技大学数据结构与操作系统考研真题2017—2019年

山东科技大学数据结构与操作系统考研真题2017—2019年

同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。
(12 分)
《数据结构》部分
一、简答题(30 分,每题 5 分) 1、串、数组、广义表从元素间关系上可以看成线性结构,它们与 一般意义上的线性表相比有何特殊性? 2、借助栈可以实现更复杂的操作,请简述如何利用栈实现对表达 式中括号是否匹配的检验。 3、基于关键字比较的查找算法所能达到最优时间复杂度是?能否 设计一种与问题规模无关的查找算法?请给出基本思路。 4、图的广度优先遍历与树的何种遍历策略相似?请给出简单解释。 5、《数据结构》中经常采用“树形化组织”的方式来整理数据, 比如折半查找表、二叉排序树、大顶堆/小顶堆等,请简述这样 做的优点。 6、何为稳定的排序方法?何为不稳定的排序方法?哪些排序算法 是不稳定的?
①请画出该图; ②给出从顶点 3 开始的深度优先遍历序列; ③给出从顶点 4 开始的广度优先遍历序列。 3、假设有一个 10000*10000 的稀疏矩阵,期中 1%的元素为非零元 素,要求构造一个哈希表,完成以下任务。 ①设计哈希函数(根据给定非零元素的行值和列值确定其在哈
希表的位置); ②给出处理冲突的方法; ③简要分析该哈希表的查找效率。 4、设待排序的关键字序列为{13,7,16,45,36,27,17,6, 12,56},试分别完成以下任务: ①建小顶堆; ②给出以 13 为枢轴进行一趟快速排序的过程。 三、算法设计题(20 分,每题 10 分) 1、已知链表 A 和 B 分别表示元素递增的两个集合,试写一算法求 两个集合的交集,结果存放于链表 A 中。 2、已知二叉排序树采用二叉链表存储,试写一高效算法从小到大 输出二叉排序树中所有值小于 X 的结点的数据。
(2)如果在第一个时间单元(也就是到达时间为 1.0)期间,CPU 被

山东科技大学823数据结构与操作系统2004—2018考研专业课真题试卷

山东科技大学823数据结构与操作系统2004—2018考研专业课真题试卷

山东科技大学
2018年硕士研究生入学考试试题
考试科目:数据结构与操作系统 科目代码:823
《数据结构》部分
一、简答题(30分,每题5分)
1、串、数组、广义表从元素间关系上可以看成线性结构,它们与
一般意义上的线性表相比有何特殊性?
2、借助栈可以实现更复杂的操作,请简述如何利用栈实现对表达
式中括号是否匹配的检验。

3、基于关键字比较的查找算法所能达到最优时间复杂度是?能否
设计一种与问题规模无关的查找算法?请给出基本思路。

4、图的广度优先遍历与树的何种遍历策略相似?请给出简单解释。

5、《数据结构》中经常采用“树形化组织”的方式来整理数据,
比如折半查找表、二叉排序树、大顶堆/小顶堆等,请简述这样
做的优点。

6、何为稳定的排序方法?何为不稳定的排序方法?哪些排序算法
是不稳定的?
二、综合应用题(40分,每题10分)
1、假设用于通信的电文共有8个字母A,B,C,D,E,F,G,H组成,字
母在电文中出现的频率分别是{0.2,0.04,0.06,0.02,0.12,
0.24,0.25,0.07}。

①试为这8个字符设计哈夫曼编码;
②试设计另一种由二进制表示的等长编码方案;。

2023年研究生全国统考计算机试题——数据结构与操作系统试题解析

2023年研究生全国统考计算机试题——数据结构与操作系统试题解析

一、单项选择题1. 下列对顺序存储的有序表(长度为n)实现给定操作的算法中平均时间复杂度为O(1)的是()。

A、查找包含指定值元素的值B、插入包含指定值元素的算法C、删除第i(1≤i≤n)个元素的算法D、获取第i(1≤i≤n)个值的算法2、现有非空双向链表L,其结点结构为,prev是指向直接前驱结点的指针,next是指向直接后继结点的指针。

若要在L中指针p 所指向的结点(非尾结点)之后插入指针s指向的新结点,则在执行了语句序列:“s->next=p->next;p->next=s;”,后,还要执行()。

A、s->next->prev=p;s->prev=p;B、p->next->prev=s;s->prev=p;C、s->prev=s->next->prev; s->next->prev=s;D、p->next->prev=s->prev;s->next->prev=p;3、若采用三元组表存储结构存储稀疏矩阵M,则除三元组外,下列数据中还需要保存的是()。

I. M的行数;II.M中包含非零元素的行数;III.M的列数;IV.M中包含非零元素的列数。

A、仅I、IIIB、仅I、IIC、仅III、IVD、I、II、III、IV4、在由6个字符组成的字符集S中,各个字符出现的频次分别为3,4,5,6,8,10,为S构造的哈夫曼树的加权平均长度为()。

A、2.4B、2.5C、2.67D、2.75注:每个关键字的查找长度为:图片加权平均长度为:(3×3+3×4+3×5+3×6+2×8+2×10)/(3+4+5+6+8+10)=2.5。

如果不考虑权重,会错误计算为(3+3+3+3+2+2)/6≈2.67,从而误选C。

5、已知一棵二叉树的树形如下图所示,若其后序遍历为fdbeca,则其先序列为()。

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

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

《数据结构》部分一、简答题(10分,每题5分)1、数据元素之间的关系在计算机中的存储有几种表示方法?各有什么特点?(P6)解:数据元素之间的关系在计算机中有四种不同的表示方法:(1)顺序存储方法。

数据元素顺序存放,每个结点只含有一个元素。

存储位置反映数据元素间的逻辑关系。

存储密度大,但有些操作(如插入、删除)效率较差。

(2)链式存储方法。

每个结点除包含数据元素信息外还包含一组指针。

指针反映数据元素间的逻辑关系。

这种操作不要求存储空间连续,便于进行插入和删除等操作,但存储空间利用率较低。

另外,由于逻辑上相邻的数据元素在存储空间上不一定相邻,所以不能对其进行随机存取。

(3)索引存储方法。

除数据元素存储在一地址连续的内存空间外,尚需建立一个索引表。

索引表中的索引指示结点的存储位置,兼有动态和静态特性。

(4)哈希(或散列)存储方法。

通过哈希函数和解决冲突的方法,将关键字散列在连续的有限的地址空间内,并将哈希函数的值作为该数据元素的存储地址。

其特点是存取速度快,只能按关键字随机存取,不能顺序存储,也不能折半存取。

2、对于堆排序法,快速排序法和归并排序法,若仅从节省存储空间考虑,则应该首先选取其中哪种方法?其次选取哪种方法?若仅考虑排序结果的稳定性,则应该选取其中哪种方法?若仅从平均情况下排序最快这一点考虑,则应该选取其中哪些方法?(P289)答:若只从存储空间考虑,则应首先选取堆排序方法,其次选取快速排序方法,最后选取归并排序方法;若只从排序结果的稳定性考虑,则应选取归并排序方法;若只从平均情况下最快考虑,则应选取快速排序方法;若只从最坏情况下最快并且要节省内存考虑,则应选取堆排序方法。

二、应用题(55分)1、证明:同一棵二叉树的所有叶子结点,在前序序列、中序序列以及后序序列中都按相同的相对位置出现(即先后顺序相同)。

(8分)(例如先序abc,后序bca,中序bac。

)(P128) 答:【答案】先序遍历是“根左右”,中序遍历是“左根右”,后序遍历是“左右根”。

山东科技大学数据结构与操作系统07-08,2010--2020年考研初试真题

山东科技大学数据结构与操作系统07-08,2010--2020年考研初试真题
四、[15分]采用链表作存储结构,编写一个采用选 择排序方法进行升序排序的函数。
五、[15分]采用二叉链表存储树,试写一算法,实现 对树的层次遍历。
六、[15分]设计一个算法,判断无向图G是否一棵树。
操作系统部分(50分)
一:名词解释(每题3分,总计12分)
1:线程
2:死锁
3:虚拟存储器 4:中断 二:简单题(每题5分,总计20分)
2、[10分]设有一有向图G如下图所示:
1
2
6
5 3
4
(1)、画出图G的邻接表存储表示(邻接顶点请以顶 点序号递增序排列,以使答案唯一)。
(2)、写出从顶点1开始按深度优先遍历G得到的顶 点序列。 3、[10分]已知待排序的三个整数a,b和c(a≠b≠c≠a), 可能出现的六种排列情况的概率不等,其概率如下 表所示:
1、[4分]为什么要分析算法的时间复杂度? 2、[4分]简述代码区、全局数据区、栈区、堆区
在程序运行时的作用。 3、[4分]求模式串s=’aaaabc’的next及nextval
函数。 4、[4分]证明根据森林的先序序列与中序序列
可以唯一确定一个森林。 二、综合应用题[每小题8分,共24分]:
1、[8分]推导满k叉树上的叶子结点数n0和非 叶子结点数n1之间的关系(即用k和n1表示n 0)。
下表中等待访问磁盘的序列:
请求序列
1 2 34 5 67 8
将要访问的柱面号 36 192 41 57 121 66 64 100
请按两种磁盘调度算法 SCAN 算法(也称电梯调度算法)和最短寻道时间优先调度算 法,回答以下两个问题:(1)分别给出请求序列的柱面号处理次序;(2)比较两种 算法的优缺点。
A. 4 B. 3 C. 2 D. 1

2017年南京工业大学828数据结构与操作系统真题

2017年南京工业大学828数据结构与操作系统真题

2017年南京工业大学828数据结构与操作系统真题南京工业大学2017年硕士研究生入学考试初试试题(A卷)科目代码:828科目名称:数据结构与操作系统满分:150分注意:③本试题纸须随答题纸一起装入试题袋中交回!(可使用科学计算器)第一部分:数据结构(共90分)一、单项选择题(下列每题给出的四个选项中,只有一项符合试题要求。

每小题2分,共30分)1.等概率情况下,在有n个结点的顺序表上做插入结点操作,需平均移动的结点数目为。

A.nB.(n-1)/2C.n/2D.(n+1)/22.在单链表中,若要删除由指针q所指向结点的后结点,则执行的语句是。

A.p=q→next;p→next=q→next;delete p;B.p=q→next;q→next=p;delete p;C.p=q→next;q→next=p→next;delete p;D.q→next=q→next→next;q→next=q delete p;3.从一个栈顶指针为top的链栈中删除一个结点时,用x保存被删除的结点,应执行下列命令。

A.x=top;top=top→ntxtB.top=top→ntxt;x=top→data;C.x=top→data;D.x=top→data;top=top→ntxt;4.在一个大小为M=50的顺序表示一个循环队列中,如果当前的尾指针rear=10,头指针front=20,则当前循环队列的元素个数为。

A.10B.11C.40D.415.下面说法不正确的是。

A.广义表的表头总是一个广义表B.广义表的表尾总是一个广义表C.广义表难以用顺序存储结构表示D.广义表可以是一个多层次的结构6.一棵具有20个叶结点的完全二叉树最多有个结点。

A.38B.39C.40D.417.n个结点的线索二叉树上含有的线索数为。

A.2nB.n-1C.n+1D.n8.具有128个结点的完全二叉树的深度为。

A.6B.7C.8D.99.在结点数为n的最大堆中插入一个结点时,复杂度为。

2014年山东科技大学数据结构与操作系统真题.pdf

2014年山东科技大学数据结构与操作系统真题.pdf

数据结构部分一、单项选择题(每小题2分,共20分)1.下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。

B.线性表采用顺序存储,便于进行插入和删除操作。

C.线性表采用链接存储,不必占用一片连续的存储单元。

D.线性表采用链接存储,便于插入和删除操作。

2.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。

A. 单链表B.单循环链表C. 带尾指针的单循环链表D.带头结点的双循环链表3. 设栈的输入序列是 1,2,3,4,则()不可能是其出栈序列。

A. 1,2,4,3B. 2,1,3,4C. 1,4,3,2D. 4,3,1,24.循环队列 A[0..m-1]存放其元素值,用 front 和 rear 分别表示队头和队尾,则当前队列中的元素数是( )。

A. (rear-front+m)%mB.rear-front+1C.rear-front-1D.rear-front5.若一棵二叉树具有 10 个度为 2 的结点,5 个度为 1 的结点,则度为 0 的结点个数是()。

A.9 B.11 C.15 D.不确定6. 已知一棵二叉树的前序遍历结果为 ABCDEF,中序遍历结果为 CBAEDF,则后序遍历的结果为()。

A.CBEFDA B. FEDCBA C. CBEDFA D.不定7. 由权值分别为 3,8,6,2 的叶子生成一棵哈夫曼树,它的带权路径长度为()。

A.11B.35C. 19D. 538. 快速排序在最坏情况下的时间复杂度为()。

A. O(log2n)B. O(nlog2 n)C. O(n)D. O(n2)9. 下面关于二分查找的叙述正确的是( )。

A.表必须有序,表可以顺序方式存储,也可以链表方式存储B.表必须有序且表中数据必须是整型,实型或字符型C.表必须有序,而且只能从小到大排列D.表必须有序,且表只能以顺序方式存储10. 满二叉树的第 k 层上的结点个数为()。

山东科技大学数据结构与操作系统2007-2008,2010--2019年考研真题

山东科技大学数据结构与操作系统2007-2008,2010--2019年考研真题

数据结构部分
一、选择题(每题2分,共20分)
1、将线性表La和Lb头尾连接,要求时间复杂度为O(1),且占用辅助空间尽量小,
应该使用哪种结构?()
A.单链表
B.单循环链表
C.带尾指针的单循环链表
D.带头结点的双循环链表
2、在一个链队列中,front和rear分别为头指针和尾指针,则插入一个结点s的操作
为()。

A.front=front->next
B.s->next=rear;rear=s
C.rear->next=s;rear=s;
D.s->next=front;front=s;
3、设一个堆栈的入栈顺序是1、2、3、
4、5。

若第一个出栈的元素是4,则最后一个
出栈的元素必定是:()
A.1
B.3
C.5
D.1或者5
4、由分别带权为9、2、
5、7的四个叶子结点构成一棵哈夫曼树,该树的带权路径长
度为:()
A.23
B.37
C.44
D.46
5、如果AVL树的深度为5(空树的深度定义为0),则此树最少有多少个结点?()
A.12
B.20
C.33
D.64。

中国计量大学2021年研究生招生真题数据结构与操作系统

中国计量大学2021年研究生招生真题数据结构与操作系统

中国计量大学2021年硕士研究生招生考试试题考试科目代码:806考试科目名称:数据结构与操作系统所有答案必须写在报考点提供的答题纸上,做在试卷或草稿纸上无效。

一、单项选择题(共30题,每小题2分,共60分)1.关于时间复杂度的描述,正确的是()。

A.两个程序段的时间复杂度相同,则其实际运行时间也相同B.如下时间复杂度是递增的:O(1),O(log2N),O(N),O(nlog2N)C.1000N+N2/99999=O(N)D.如果两个算法在最坏情况下时间复杂度相同,则平均情况下,其时间复杂度也相同2.对线性表的描述,正确的是()。

A.在顺序表上的插入操作,其平均时间复杂度为O(N)B.在链表上的插入操作,其平均时间复杂度为O(N)C.在顺序表上访问第i个元素的操作,其平均时间复杂度为O(N)D.在链表上访问第i个元素的操作,其平均时间复杂度为O(1)3.在一个空栈上进行如下操作:PUSH1,PUSH2,PUSH3,POP,PUSH4,PUSH5,POP,POP,以下描述正确的是()。

A.最终的栈顶元素是1B.出栈的顺序是:1,2,3C.最终的栈底元素是1D.最终留在栈中的元素是:3,4,54.在一个空队列中依次进行如下操作:ENQUEUQE1,ENQUEUQE2,ENQUEUQE3,DEQUEUE,ENQUEUQE4,ENQUEUQE5,DEQUEUE,DEQUEUE,以下描述正确的是()。

A.队列中还剩下的元素是:1 B.最先出队的元素是:3C.最后出队的元素是:4D.出队顺序是:1,2,35.对图1的二叉树,描述正确的是()。

A.树的高度为2 B.中序遍历结果为:ABCEFC.这是一棵AVL树D.节点C的度为3图1.二叉树6.对图2的二叉查找树,描述正确的是()。

A.该树的深度是4B.这是一棵AVL树C.删除节点E时,可用把节点D移到原E的位置D.节点A到G的路径长度是4图2.二叉查找树7.如果把图2当作图(Graph),则描述正确的是()。

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

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

《数据结构》部分一、简答题(20 分,每题 5 分)1、请给出4 类常用的基本数据结构类型。

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

(2)线性结构。

(3)树形结构。

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

2、什么是哈希表?(课本P253第2行)答:根据设定的哈希函数H(key)和处理冲突的方法,将一组关键字映射到一个有限的、连续的地址集(区间)上,并以关键字在地址集上的“像”作为记录在表中的存储位置,这种表便称为哈希表。

3、请比较简单排序、快速排序、堆排序、归并排序的算法效率和稳定性。

(课本P289)(算法效率的概念P14;稳定性的概念P263;简单排序也就是除希尔排序之外的所有插入排序P265;快速排序P272;堆排序P279;归并排序P283)答:4、请比较普里姆算法与克鲁斯卡尔算法解决图最小生成树问题的时间复杂度。

(课本P175)(最小生成树:P173;普里姆算法P173;克鲁斯卡尔算法P175)答:普里姆算法的时间复杂度为O(n2)(假设网中有n个顶点),与网中的边数无关,因此适用于求边稠密的网的最小生成树。

而克鲁斯卡尔算法恰恰相反,它的时间复杂度为O(eloge)(e为网中边的数目),因此它相对于普里姆算法而言,适合于求边稀疏的网的最小生成树。

二、应用题(50 分)1、已知二叉树的前序遍历、中序遍历的结果分别是:ABDEFGCHIJ 和DBFEGAHCIJ,请画出对应的二叉树,给出后序遍历的结果,并将它转换成等价的树或森林。

(10 分)(二叉树的前序遍历、中序遍历P128;树P137;森林P138)答:2、某带权有向图及它的邻接表如下:(1)试写出它的深度优先搜索序列。

(深度优先搜索P167;邻接表P163;广度优先搜素P169)答:A-->B-->D-->C-->F-->E-->G--H(提示:不要画图,直接根据邻接表画)(2)根据普里姆(Prim)算法,求它的从顶点A 出发的最小生成树。

2019年苏州大学计算机872数据结构与操作系统考研真题回忆版

2019年苏州大学计算机872数据结构与操作系统考研真题回忆版

一、数据结构部分1、选择题(1)一个运算次数为n*n+nlog2n+n+1的程序时间复杂度为多少A.O(n*n)B.O(nlog2n)C.O(n)D.O(1)(2)下列哪个算法适合求稀疏图的最小生成树A.PrimB.KruskalC.DijkstraD.Floyd(3).......2、判断题(5个)(1)栈和队列是双端队列的特殊情况(2)树的子结点可以有任意多个,二叉树的孩子节点至多有两个,所有二叉树是树的特殊情况(3)一个带有头结点的单链表,结点数据类型为整形(1)编写算法将结点元素为负整数的放到链表前面,将结点元素为正整数的放到链表后面(2)对于上述问题用何种物理结构实现较好(4)对于一颗二叉树,打印从根节点到先序遍历下最后一个节点的路径(5)图用邻接表实现,打印从顶点i 到顶点j 的所有简单路径二、操作系统部分一、判断题(5个)(1)最早的gui 界面是在window 系统上二、操作计算题1. 一个可抢占的动态优先级调度算法,优先数大的优先级高(1)等待状态下,进程优先级以a 速度变化(2)运行状态下,进程优先级以b 速度变化2. 进程优先级变化不同,会成为不同的调度算法问:(1)a>b>0 时是什么调度算法(2)a< b< 0 时是什么调度算法3. 一个含有一百万条记录的文件,每个文件16kb 到到32kb 不等,每个物理块4kb(1)如何设计文件目录,目录文件如何实现(2)(3)设计文件的物理结构(4)基于上述设计,访问某个文件的某个字节信息,最多访问几次磁盘,最少访问几次4. 磁盘16 年第七题原题有一个计算机的虚存系统采用请求式分页机制。

其中,从内存读/写-个单元需要花费100ms。

该虚存系统由内存和硬盘组成,硬盘具有以下参数:转速7200RPM,磁盘块大小4KB,平均寻道时间5ms,传输率16b/s,控制开销为0.1ms。

请回答以下问题:(1) 假如缺页率为0,则该虚存系统的有效访问时间是多少?(2) 从硬盘读入或写出一个磁盘块的平均时间是多少?(3)如果缺页率为1%,缺页时页面被修改的比例是20%,不考虑缺页时的系统开销,则该虚存系统的有效访问时间是多少?5. 2016pv 操作题稍作修改:有四个进程S1、S2、R1 和R2,其中S1、S2 向缓冲区BUFF 发送消息,R1 和R2 从缓冲区BUFF 接收消息。

《数据结构与操作系统》试题.doc

《数据结构与操作系统》试题.doc

一、单项选择题:1~40小题,每小题2分,共80分。

在每小题给出的四个选项中,请选出一项最符合题目要求的。

1.在下面的程序段中,时间复杂度为()。

int fun( int n){ if( n = = 1 )return 1;return n * fun( n - 1 );}A.O( 2n ) B.0(nlogn) C.0(n2) D.O(n)2.下列排序算法中,平均时间复杂度最小的是()。

A.归并排序B.起泡排序 C.简单选择排序 D.直接插入排序3.关于线性表的描述正确的是()。

A. 采用顺序存储时,随机存取的时间复杂度是O(1)B. 采用链式存储时,随机存取的时间复杂度是O(1)C. 采用顺序存储时,其存储地址一定是不连续的D. 采用链式存储时,其存储地址一定是不连续的4.往队列中输入序列{1,2,3,4},然后出队1个数字,则出队的数字是()。

A.4 B.3 C.1 D.不确定5.往栈中输入序列{1,2,3,4},然后出栈1个数字,则出栈的数字是()。

A.4 B.3 C.1 D.不确定6.假设二叉排序(查找)树上有n个节点,树的高度为h,则查找的平均时间复杂度是()。

A.O( n ) B.0(nlogn) C.0(logn) D.O(h)7.有10个节点的无向图,至少需要多少条边才能成为一个连通图()。

A.5 B.45 C.9 D.108.关于邻接矩阵,下列说法中错误的是()。

A.有向图的邻接矩阵不一定是对称矩阵B. 无向图的邻接矩阵不一定是对称矩阵C.若图G的邻接矩阵是对称的,则G不一定是无向图D.若图G的邻接矩阵是对称的,则G不一定是有向图9.折半查找算法中查找的时间复杂度是()。

A.O( n ) B.0(nlogn) C.0(logn) D.O(n2)10.一个有序数据序列中有15个数据,采用折半查找法在其中查找一个数据,最多需要比较几次就能得到结果()。

A.4 B.5 C. 7 D. 1511.图1所示这棵二叉树的先(前)序遍历结果是()。

天津理工大学808数据结构与操作系统真题

天津理工大学808数据结构与操作系统真题

天津理工大学808数据结构与操作系统真题
一、填空题
1、如果系统中有n个进程,则在等待队列中进程的个数最多为()个。

2、在操作系统中,不可中断执行的操作称为()。

3、如果系统中的所有作业是同时到达的,则使作业平均周转时间最短的作业调度是()。

4、如果信号量的当前值为负4,则表示系统中在该信号量上有()个等待进程。

5、在有m个进程的系统中出现死锁时,死锁进程的个数k应该满足的条件是()。

6、不让死锁发生的策略可以分为静态和动态两种,死锁避免属于()。

7、在操作系统中,一种用空间换取时间的资源转换技术是()。

8、为实现CPU与外部设备的并行工作,系统引入了()硬件机制。

9、中断优先级是由硬件规定的,若要调整中断的响应次序可通过()。

二、选择题
10、要连通具有n个顶点的有向图,至少需要()条边。

A、n-l
B、n
C、n+l
D、2n
11、下列数据中,()是非线性数据结构。

A、栈
B、队列
C、完全二叉树
D、堆
12、下列叙述中,不符合m阶B树定义要求的是()。


A、根节点最多有m棵子树
B、所有叶结点都在同一层上
C、各结点内关键字均升序或降序排列
D、叶结点之间通过指针链接。

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

数据结构和操作系统试题姓名________ 学号_________ 得分__________数据结构部分一、判断题。

(正确的在括号里打√,错误的打×)①数据元素是数据的最小单位。

()②完全二叉树中,若一个结点没有左孩子,则必是树叶。

()③关键路径是AOE网络中从源点到汇点的最长路径。

()④顺序存储法适用于存储结构为顺序或链式存储的线性表。

()⑤对任何一棵二叉树,如果叶子结点数为n0,度为2的结点数为n2,则n2 = n0 - 1。

()⑥快速排序是一种属于选择排序类的方法,时间效率较高。

()⑦数组的常见操作有存取、修改、删除、插入。

()⑧若非空二叉树中每个结点有两个子结点,且左子树的根小于根结点,右子树的根不小于根结点,则是二叉排序树。

()⑨将一棵树转换为二叉树后,根结点没有左子树。

()⑩在一般情况下,处理冲突方法相同的哈希表,其平均查找长度依赖于哈希表的装填因子。

()二、选择和填空1.在一个长度为n的顺序表(即顺序存储的线性表)中,向第i个元素(1<=i<=n+1)之前插入一个新元素时,需向后移动______个元素。

A. n-iB. n-i+1C. n-i-1D. i2.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为__________。

3.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用________存储方式最节省运算时间。

A.单链表B.仅有头指针的单循环链表C. 双向循环链表D.仅有尾指针的单循环链表4.若构造一棵具有n个结点的二叉排序树,最坏的情况下其深度不会超过________。

A.n/2 B.n C.(n+1)/2 D.n+15. 对有18个元素的有序表A[1]~A[18]作二分查找,则查找A[3]的比较序列的下标为______。

A.1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,36. 下面程序段的时间复杂度是______________。

for (i=0; i<n; i++)for (j=0; j<m; j++)A[i][j] = 0;7. 下列算法中,____________和___________可构造最小生成树。

A.迪杰斯特拉算法B.普里姆算法C.弗洛伊德算法D.克鲁斯卡尔算法E.哈夫曼算法1/78. 一个中缀算术表达式为5+(7-x)*y ,则用算符优先法求对应的后缀表达式为________。

A. 5 7 - + x y *B. 5 7 x + - y *C. 5 7 x - y * +D. 5 7 x y - + *9. 若进栈序列为ABCDE ,则__________不可能是出栈序列。

A. CBAEDB. CBEDAC. DBCAED. ACBDE10. 若二叉树共5个叶子,权值分别为{3,4,5,6,7},则这棵二叉树可能的最短带权路径长度为____________。

11. 设有二叉树如右图①给出先序遍历的结点访问次序________________ ②给出中序遍历的结点访问次序________________③给出后序遍历的结点访问次序________________④若用二叉链表作为存储结构,将出现____个空指针域 12. 以下序列不是堆的是____________。

A .(100,85,98,77,80,60,82,40,20,10,66)B .(100,98,85,82,80,77,66,60,40,20,10)C .(10,20,40,60,66,77,80,82,85,98,100)D .(100,85,40,77,80,60,66,98,82,10,20)13. 对哈希(HASH)函数H(k)= k MOD m, 一般来说,m 应取_____________。

A. 素数B. 很大的数C. 偶数D.奇数14. 下面四种方法,___________可以用来处理 HASH 查找的冲突。

A.求余法B. 平方取中法C. 二分法D. 开放地址法三、程序和算法。

1. 阅读下列C 算法,把其中_______处缺少的内容写出来,使之完整,将解答写在右侧空白处。

〖说明〗以二叉链表作存储结构,用后序遍历法复制(copy )一个二叉树,即给定一个指向二叉树的指针,生成一个同样结构的二叉树。

结点定义struct tree{char info;struct tree *left;struct tree *right;};void copytree(struct tree *nodeptr, struct tree *newnodeptr){ struct tree *copyL, *copyR;if( ① ){② ;③ ;newnodeptr = (struct tree *)malloc(sizeof(struct tree));④ ;⑤ ;⑥ ;}}A B H G F E C D 2/72.简述以下算法的功能和思想。

①顺序存储结构线性表aStatus whatfunc(SqList &a,int i,int k){if(i<1||k<0||i+k-1>a.length) return ERROR; for(count=1;i+count-1<=a.length-k;count++)a.elem[i+count-1]=a.elem[i+count+k-1]; a.length -= k;return OK;}②递增有序链表A和Bvoid whatfunc (LinkList &A, LinkList &B, LinkList &C) {pa=A->next; pb=B->next; pre=NULL; pc=NULL;while(pa||pb) {if ((pa && pb && pa->data<pb->data)|| !pb) { pc=pa; q=pa->next; pa->next=pre; pa=q;}else { pc=pb; q=pb->next; pb->next=pre; pb=q; }pre=pc;}C=A;A->next=pc;}③设输入的字符串当中依次出现字符'&'、'@'及'#'各一个,int whatfunc( ){InitStack(S);while((e = getchar( ))!= ’&’)push(S,e)while((e = getchar( ))!= ’@’) ;while((e = getchar( ))!= ‘#’) { if (StackEmpty(S)) return 0;pop(S,c);if (e != c) return 0;}if (!StackEmpty(S)) return 0;return 1;} ④顺序表L下标从1开始void whatfunc(SqList &L){k=L.length;for(i=k-1;i; - -i)if(L.r[i].key<L.r[i+1].key){L.r[k+1].key=L.r[i].key;for(j=i+1;L.r[j].key>L.r[k+1].key;++j) L.r[j-1].key=L.r[j].key;L.r[j-1].key=L.r[k+1].key;}}3.试写一用队列操作InitQueue、EnQueue、DeQueue及QueueEmpty实现的算法判断一棵二叉3/7树是否为完全二叉树。

4.阅读下列C程序,把其中_______处缺少的内容写出来,使之完整,将解答写在右侧空白处。

〖程序说明〗根据图的深度优先算法打印有向图的顶点号。

#include <stdio.h>#include <stdlib.h>#define MAX_VERTEX_NUM 20struct ArcNode {int adjvex;struct ArcNode *nextarc;};struct Vnode {struct ArcNode *firstarc;};typedef struct Vnode AdjList[MAX_VERTEX_NUM];int visited[MAX_VERTEX_NUM];void dfs(AdjList G, int v);void main(void){int i, s, d, n, e;struct ArcNode *p;AdjList G;printf("\nDepth_First Search\n");printf("Please input the vertex number(<%d) and edges: ", MAX_VERTEX_NUM);scanf("%d %d",&n, &e);for (i=1; i<=n; i++)G[i].firstarc = NULL; 4/7for (i=1; i<=e; i++){printf("\nArc %d => <from, to>",i);scanf("%d,%d", &s, &d);p = (struct ArcNode *)malloc(sizeof(struct ArcNode));p->adjvex = d;①;G[s].firstarc = p;}dfs(G, 1);}void dfs(AdjList G, int v){struct ArcNode *w;②;printf("%d\t", v);f or ( ③; ④; ⑤)if ( ⑥)⑦;}5. 阅读下列C算法,把其中_______处缺少的内容写出来,使之完整,将解答写在右侧空白处。

〖程序说明〗用下列归并排序算法对整形数组SR[s..t]进行递增排序为数组TR1[s..t],TR2为辅助数组。

void MSort(int SR[ ], int TR1[ ], int s, int t){int i, j, pivot;if(s= = t) ①;else {m = ②;③;④;for ( j = m+1, k = s; ⑤; k++)if ( TR2[i] <= TR2[j]) ⑥;else ⑦;if (i <= m) ⑧;if (j <= t ) ⑨;}}操作系统部分5/7一、判断题。

相关文档
最新文档