(山东科技大学)PTA数据结构答案与解析
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。
山东科技大学数据库原理试卷A与参考答案及评分标准
山东科技大学泰山科技学院2012 —2013 学年第一学期《数据库原理》考试试卷(A卷)班级姓名学号1、数据库系统的核心是____________ 。
2、两段锁协议中的两段指的是:____________ 和___________ 。
3、数据管理技术经过了、和三个阶段。
4、索引的建立有利也有弊。
建立索引可以___________,但过多地建立索引会__________。
5、_____________是一个非常特殊但又非常有用的函数,它可以计算出满足约束条件的一组条件的行数。
3、数据库恢复是将数据库从状态恢复到的功能。
4、数据库系统在运行过程中,可能会发生故障。
故障主要有、、介质故障和四类。
8、在SQL中,____________ 子句用来消除重复出现的元组。
9、在关系模式R(U) 中,如果X →Y ,Y →Z ,且Y 不是X 的子集,不存在X ←→Y 的情况,则称Z ____________依赖于X 。
10、判断一个并发调度是否正确,可用 __________ 概念来衡量。
二、选择题(20分,每题1分)1、三个模式之间存在下列映射关系,将正确的填入括号中( )A. 外模式/ 内模式B. 外模式/ 模式C. 模式/ 模式D. 内模式/ 外模式2、数据的逻辑独立性是指( )A. 存储结构与物理结构的逻辑独立性B. 数据与存储结构的逻辑独立性C. 数据与程序的逻辑独立性D. 数据元素之间的逻辑独立性3、以下关于外码和相应的主码之间的关系,正确的是( )A. 外码并不一定要与相应的主码同名B. 外码一定要与相应的主码同名C. 外码一定要与相应的主码同名而且唯一D. 外码一定要与相应的主码同名,但并不一定唯一4、数据库和文件系统的根本区别在于:( )A.提高了系统效率B.方便了用户使用C.数据的结构化D.节省了存储空间5、关系代数运算是以()为基础的运算。
A.关系运算B.谓词演算C.集合运算D.代数运算6、关系的码不能为空属于DBS的()A.完整性措施B.安全性措施C.物理安全措施D.恢复措施7、有12个实体类型,并且它们之间存在着15个不同的二元联系,其中4个是1:1联系类型,5个是1:N联系类型,6个M:N联系类型,那么根据转换规则,这个ER结构转换成的关系模式最少有 ( )A.17个B.18个C.23个D.27个8、消除了传递函数依赖的2NF的关系模式,必定是()。
(山东科技大学)PTA数据结构答案与解析
3.函数题 4.编程题
线性表应用
1.单选题
2-1 采用多项式的非零项链式存储表示法,如果两个多项式的非零项分别为N1和N2个,最高项指数分别为M1和M2, 则实现两个多项式相乘的时间复杂度是:(2分) 1. O(N1×N2) 2. O(M1×M2) 3. O(N1+N2) 4. O(M1+M2) 解析:略 答案: A
3. 任一结点无左孩子 4. 任一结点无右孩子 解析:思路同2-15,在此不再阐述 答案: D 2-17 设n、m为一棵二叉树上的两个结点,在中序遍历时,n在m前的条件是 (3分) 1. n在m左方 2. n在m右方 3. n是m祖先 4. n是m子孙 解析:由显然易得,选A 答案: A 2-18 给定二叉树如下图所示。设N代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。若遍历后的结点序 列为3、1、7、5、6、2、4,则其遍历方式是: (2分)
1. c 2. d 3. f 4. g解析:模拟一遍求解即可 答案: B 单位: 浙江大学 2-5 在下述结论中,正确的是: (2分) ① 只有2个结点的树的度为1; ② 二叉树的度为2; ③ 二叉树的左右子树可任意交换; ④ 在最大堆(大顶堆)中,从根到任意其它结点的路径上的键值一定是按非递增有序排列的。 1. ①④ 2. ②④ 3. ①②③ 4. ②③④
1. NRL 2. RNL 3. LRN 4. RLN 解析:由显然易得,选B 答案: B 2-19 设高为h的二叉树(规定叶子结点的高度为1)只有度为0和2的结点,则此类二叉树的最少结点数和最多结点数分 别为: (3分) 1. 2. 3. 4. , , , ,
解析:由二叉树结点数性质,易得B答案正确, 容易误选D,当除根节点之外,每层有两个节点的时候,结点数是最 少的(不方便画图就不画了,自行理解)
山东科技大学数据结构与操作系统考研真题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 被
2022年山东科技大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)
2022年山东科技大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为()排序法。
A.插入B.选择C.希尔D.二路归并2、将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是()。
A.NB.2N-1C.2ND.N-13、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表4、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。
A.仅修改队头指针B.仅修改队尾指针C.队头、队尾指针都可能要修改D.队头、队尾指针都要修改5、已知串S='aaab',其next数组值为()。
A.0123B.1123C.1231D.12116、下列选项中,不能构成折半查找中关键字比较序列的是()。
A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4507、若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b, c,d,e,a,则根结点的孩子结点()。
A.只有e B.有e、b C.有e、c D.无法确定8、一个具有1025个结点的二叉树的高h为()。
A.11B.10C.11至1025之间D.10至1024之间9、有n(n>0)个分支结点的满二叉树的深度是()。
A.n2-1B.log2(n+1)+1C.log2(n+1)D.log2(n-l)10、若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为()。
A.(n-1)/2B.n/2C.(n+1)/2D.n二、填空题11、顺序查找n个元素的顺序表,若查找成功,则比较关键字的次数最多为______次;当使用监视哨时,若查找失败,则比较关键字的次数为______。
山东科技大学《数据结构》期末试卷(A卷)答案
三、应用题ห้องสมุดไป่ตู้每题10分,共40分)
1.a,b,c,d,e出现的频率分别是:14/55,7/55,10/55,3/55,21/55
2.插入关键字B,L,F,P,Q,R后的三阶B_树为:
3.(1)用第一元素中的值6作为枢轴,快速排序第一次分割后A中的结果是:
break;
case 1:
hb->next=qb->next;
qb->next=qa; ha->next=qb;
ha=qb; qb=hb->next;
break;
}
}
if (!Empty(qb)) ha->next=qb;
free(hb);
}
1.statusSearch_Updata(LinkList L, ElemType a, ElemType b)
{
if (!L) return ERROR;
p=L;
while(p->next){
if (p->data==a ) p->data=b;
p=p->next;
}
return OK
}
2.void AddPolyn(polynomial &Pa,polynomial &Pb)
{
case -1:
ha=qa;
qa=qa->next;
break;
case 0:
sum=a.coef+b.coef;
if (sum!=0.0){ qa.coef=sum; ha=qa; }
else {ha->next =qa->next; Free(qa); }
数据结构课后答案(20201127235338)
第1章绪论1 •简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
答案:数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。
如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。
数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。
在有些情况下,数据元素也称为元素、结点、记录等。
数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。
数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。
例如,学生基本信息表中的学号、姓名、性别等都是数据项。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
例如:整数数据对象是集合N={0, ± 1,土2,…},字母字符数据对象是集合C={ ‘A',‘ B',…,‘ Z', ‘a',‘ $,•••,‘ z' }, 学生基本信息表也可是一个数据对象。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。
逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。
存储结构:数据对象在计算机中的存储表示,也称为物理结构。
抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。
具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。
2•试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。
答案:例如有一张学生基本信息表,包括学生的学号、姓名、性别、籍贯、专业等。
每个学生基本信息记录对应一个数据元素,学生记录按顺序号排列,形成了学生基本信息记录的线性序列。
2013年山东科技大学数据结构与操作系统--真题及参考答案
《数据结构》部分一、简答题(10分,每题5分)1、数据元素之间的关系在计算机中的存储有几种表示方法?各有什么特点?(P6)解:数据元素之间的关系在计算机中有四种不同的表示方法:(1)顺序存储方法。
数据元素顺序存放,每个结点只含有一个元素。
存储位置反映数据元素间的逻辑关系。
存储密度大,但有些操作(如插入、删除)效率较差。
(2)链式存储方法。
每个结点除包含数据元素信息外还包含一组指针。
指针反映数据元素间的逻辑关系。
这种操作不要求存储空间连续,便于进行插入和删除等操作,但存储空间利用率较低。
另外,由于逻辑上相邻的数据元素在存储空间上不一定相邻,所以不能对其进行随机存取。
(3)索引存储方法。
除数据元素存储在一地址连续的内存空间外,尚需建立一个索引表。
索引表中的索引指示结点的存储位置,兼有动态和静态特性。
(4)哈希(或散列)存储方法。
通过哈希函数和解决冲突的方法,将关键字散列在连续的有限的地址空间内,并将哈希函数的值作为该数据元素的存储地址。
其特点是存取速度快,只能按关键字随机存取,不能顺序存储,也不能折半存取。
2、对于堆排序法,快速排序法和归并排序法,若仅从节省存储空间考虑,则应该首先选取其中哪种方法?其次选取哪种方法?若仅考虑排序结果的稳定性,则应该选取其中哪种方法?若仅从平均情况下排序最快这一点考虑,则应该选取其中哪些方法?(P289)答:若只从存储空间考虑,则应首先选取堆排序方法,其次选取快速排序方法,最后选取归并排序方法;若只从排序结果的稳定性考虑,则应选取归并排序方法;若只从平均情况下最快考虑,则应选取快速排序方法;若只从最坏情况下最快并且要节省内存考虑,则应选取堆排序方法。
二、应用题(55分)1、证明:同一棵二叉树的所有叶子结点,在前序序列、中序序列以及后序序列中都按相同的相对位置出现(即先后顺序相同)。
(8分)(例如先序abc,后序bca,中序bac。
)(P128) 答:【答案】先序遍历是“根左右”,中序遍历是“左根右”,后序遍历是“左右根”。
山东科技大学数据结构与操作系统07-08,2010--2020年考研初试真题
五、[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
山东科技大学数据结构与操作系统2007,2008,2010--2014年考研专业课初试真题
山东科技大学2007年招收硕士学位研究生入学考试
数据结构与操作系统试卷
数据结构部分
注意事项:
1、算法应说明基本思路,应对主要数据类型、
变量给出说明,所写算法应结构清晰、简明易懂,
应加上必要的注释。
2、算法可用(类)PASCAL语言、(类)C语言等你
所熟悉的高级语言编写,但要注明语种。
一、解答下列问题[每小题4分,共16分]:
1、[4分]为什么要分析算法的时间复杂度?
2、[4分]简述代码区、全局数据区、栈区、堆区
在程序运行时的作用。
3、[4分]求模式串s=’aaaabc’的next及nextval
函数。
4、[4分]证明根据森林的先序序列与中序序列
可以唯一确定一个森林。
二、综合应用题[每小题8分,共24分]:
1、[8分]推导满k叉树上的叶子结点数n0和非
叶子结点数n1之间的关系(即用k和n1表示n
0)。
数据结构习题(包含全部答案解析).doc
数据结构习题集(自编)第一章绪论一、选择题1.数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的()和运算的学科。
A.结构B.关系 C.运算 D.算法2.在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.逻辑结构和存储结构3.线性表的逻辑顺序和存储顺序总是一致的,这种说法()。
A.正确B.不正确 C.无法确定 D.以上答案都不对4.算法分析的目的是()。
A.找出算法的合理性 B.研究算法的输人与输出关系C.分析算法的有效性以求改进 D.分析算法的易懂性5. 算法的时间复杂度取决于()A.问题的规模B待处理数据的初态 C. A和B6.一个算法应该是()。
A.程序B.问题求解步骤的描述C.要满足五个基本特性 D.A和C.7. 下面关于算法说法错误的是()A.算法最终必须由计算机程序实现B.为解决某问题的算法与为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的8.以下与数据的存储结构无关的术语是()。
A.循环队列 B. 链表 C. 哈希表 D. 栈9.在下面的程序段中,对x的赋值语句的频度为()for(i=0;i<n;i++)for(j=0;j<n;j++)x=x+1;nA. 2n B.n C.n2 D.log210.以下数据结构中,()是非线性数据结构A.树 B.字符串 C.队列 D.栈11. 下列数据中,()是线性数据结构。
A.哈夫曼树 B.有向无环图 C. 二叉排序树 D. 栈12.以下属于逻辑结构的是()。
A.顺序表 B. 哈希表 C.有序表 D. 单链表二、填空题1、_______是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,________是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。
(数据、数据)2、数据元素是数据的______,有些情况下也称为元素、结点、顶点、记录等。
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 出发的最小生成树。
数据库原理(山东联盟)智慧树知到课后章节答案2023年下山东科技大学
数据库原理(山东联盟)智慧树知到课后章节答案2023年下山东科技大学山东科技大学第一章测试1.对于DB、DBS、DBMS的关系,下列哪一种描述是正确的()答案:DBS包括DB、DBMS2.在数据库中存储的是()。
答案:数据以及数据之间的联系3.Oracle数据库是关系数据库。
()答案:对4.数据库管理员的主要职责是查询数据。
()答案:错5.文件系统与数据库系统的重要区别是数据库系统具有()。
答案:数据结构化第二章测试1.最常用的一种基本数据模型是关系数据模型,它用统一的()结构来表示实体及实体之间的联系。
答案:二维表2.若在实体R的诸属性中,属性A不是R的主键,是另一个实体S的主键,则称A为R的()。
答案:外键3.自然连接是构成新关系的有效方法。
一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的()。
答案:属性4.关系运算中花费时间可能最长的运算是()。
答案:笛卡尔积5.外键约束必须和另一表中的主键约束共同使用。
( )答案:对第三章测试1.下面SELECT语句中哪个子句可以包含子查询。
答案:WHERE2.嵌套查询的子查询结果记录个数是。
答案:由子查询的WHERE子句而定3.在SQL中,数据更新语句是。
答案:UPDATE4.SQL中,“DELETE FROM 表名”表示( )。
答案:从基本表中删除所有元组5.下列聚合函数中,( )考虑空值。
答案:COUNT(* )第四章测试1.SQL语言集数据定义功能、数据操纵功能和效据控制功能于一体。
如下所列语句中,哪一个是属于数据控制功能的()答案:GRANT2.为了保证数据库的安全性,对一个数据库产品提供的授权定义中,提供的数据对象的() ,授权子系统就越灵活。
答案:粒度越小3.通过()可以把要保密的数据对无权存取的用户隐藏起来,从而对数据提供一定程度的安全保护。
答案:视图机制4.强制存取控制方法主要通过SQL语言的GRANT和REVOKE实现。
数据结构考试试题库含答案解析
数据结构习题集含答案目录目录 (1)选择题 (2)第一章绪论. (2)第二章线性表. (4)第三章栈和队列. (6)第四章串. (7)第五章数组和广义表 (8)第六章树和二叉树 (8)第七章图. (11)第八章查找. (13)第九章排序. (14)简答题 (19)第一章绪论. (19)第二章线性表. (24)第三章栈和队列. (26)第四章串. (28)第五章数组和广义表 (29)第六章树和二叉树 (31)第七章图. (36)第八章查找. (38)第九章排序. (39)编程题 (41)第一章绪论. (41)第二章线性表. (41)第三章栈和队列. (52)第四章串. (52)第五章数组和广义表 (52)第六章树和二叉树 (52)第七章图. (52)第八章查找. (52)第九章排序. (57)选择题第一章绪论1. 数据结构这门学科是针对什么问题而产生的?( A )A、针对非数值计算的程序设计问题 B 、针对数值计算的程序设计问题C、数值计算与非数值计算的问题都针对D、两者都不针对2. 数据结构这门学科的研究内容下面选项最准确的是( D )A、研究数据对象和数据之间的关系 B 、研究数据对象C、研究数据对象和数据的操作D、研究数据对象、数据之间的关系和操作3. 某班级的学生成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那么下面关于数据对象、数据元素、数据项描述正确的是( C )A、某班级的学生成绩表是数据元素,90 分是数据项B、某班级的学生成绩表是数据对象,90 分是数据元素C、某班级的学生成绩表是数据对象,90 分是数据项D、某班级的学生成绩表是数据元素,90 分是数据元素4. *数据结构是指(A )。
A、数据元素的组织形式B、数据类型C、数据存储结构D、数据定义5. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同,称之为(C )。
A、存储结构B、逻辑结构C、链式存储结构D、顺序存储结构6. 算法分析的目的是( C )A、找出数据的合理性B、研究算法中的输入和输出关系C、分析算法效率以求改进D、分析算法的易懂性和文档型性7. 算法分析的主要方法( A )。
山东科技大学考研真题数据结构与离散数学2005
2、[5 分]将 N*N 的上三角矩阵 A( i>j 时 A[i][j]=0,i<=j 时 A[i][j]>0)的非零元存储在一维数组 B(下标 k 从 0 开始) , 试给出 B[k]与 A[i][j]之间的元素对应关系。 3、[5 分]写出后缀表达式 ab cde/-f +的运算顺序。 4、[5 分]画出广义表(a,(x,y),((x)))的存储结构。 5、[5 分]比较哈希表与其它查找表的不同之处。 6、[5 分]利用两个栈 S1 和 S2 模拟一个队列,写出入队算法和出 队算法的算法思想。 二、[10 分]已知树 T 的先序访问序列为:ABEFCDGHIK 后序访问序 列为:EFBCHIKGDA。 1、画出树 T。 2、将树 T 转换为对应的二叉树 BT。 3、将二叉树 BT 后序线索化。 三、[15 分]有一种简单的排序算法,叫做计数排序(count sorting) 。 这种排序算法对一个待排序的表(用数组表示)进行排序,并将
科目代码:405
请在答题纸(本)上做题, 在此试卷及草入纸上做题无效!
山 东 科 技 大 学 2 0 05 年 招 收 硕 士 学 位 研 究 生 入 学 考 试 数据结构与离散数学试卷
(共 4 页)
说明: 1、 本试卷分为数据结构和离散数学两部分。 数据结构部分共六题, 满分 100 分:离散数学部分共四题满分 50 分。全试卷共十题, 满分 150 分。 2、答案一律写在答题纸上。 3、答卷应字迹清楚,语义确切。
数据结构部分
注意事项: 1、算法应说明基本思路,庆对主工数据类型、变量给出说明,所 写算法应结构清晰、简明易懂,应加上必要的注释。 2、算法可用(类)PASCAL 语言、 (类)C 语言等你所熟悉的高 级语言编写,但要注明语种。 一、解答下列问题(共 30 分) 1、[5 分]根据数据元素之间关系的不同特性,数据据的逻辑结构 通常有哪些基本结构?数据元素之间的关系在计算机中有哪几 种表示方式?
山东科技大学——十套数据结构试题及答案
数据结构试卷(一)1.栈和队列的共同特点是( )。
A。
只允许在端点处插入和删除元素B。
都是先进后出C。
都是先进先出D。
没有共同点2.用链接方式存储的队列,在进行插入运算时( ).A。
仅修改头指针 B。
头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?( )A. 队列B。
栈 C. 线性表D。
二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示.A.688 B.678 C.692 D.6965.树最适合用来表示()。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( )。
A.2k—1 B。
2K+1 C.2K—1 D. 2k—17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3 B。
9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A。
O(1) B. O(n) C. O(1og2n) D。
O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有()个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图。
A.5B.6 C。
7 D.8二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:_________、_________、_________和_________。
2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。
数据结构课后习题详解(超完整-超经典)
第1章 绪论1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。
解:数据是对客观事物的符号表示。
在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据对象是性质相同的数据元素的集合,是数据的一个子集。
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
存储结构是数据结构在计算机中的表示。
数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。
是对一般数据类型的扩展。
1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。
解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。
一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。
抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。
在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。
1.3 设有数据结构(D,R),其中{}4,3,2,1d d d d D =,{}r R =,()()(){}4,3,3,2,2,1d d d d d d r =试按图论中图的画法惯例画出其逻辑结构图。
解:1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。
解:ADT Complex{数据对象:D={r,i|r,i 为实数}数据关系:R={<r,i>}基本操作:InitComplex(&C,re,im) 操作结果:构造一个复数C ,其实部和虚部分别为re 和imDestroyCmoplex(&C) 操作结果:销毁复数CGet(C,k,&e)操作结果:用e 返回复数C 的第k 元的值Put(&C,k,e)操作结果:改变复数C 的第k 元的值为eIsAscending(C)操作结果:如果复数C 的两个元素按升序排列,则返回1,否则返回0IsDescending(C)操作结果:如果复数C 的两个元素按降序排列,则返回1,否则返回0Max(C,&e)操作结果:用e 返回复数C 的两个元素中值较大的一个Min(C,&e)操作结果:用e 返回复数C 的两个元素中值较小的一个 }ADT ComplexADT RationalNumber{数据对象:D={s,m|s,m为自然数,且m不为0}数据关系:R={<s,m>}基本操作:InitRationalNumber(&R,s,m)操作结果:构造一个有理数R,其分子和分母分别为s和mDestroyRationalNumber(&R)操作结果:销毁有理数RGet(R,k,&e)操作结果:用e返回有理数R的第k元的值Put(&R,k,e)操作结果:改变有理数R的第k元的值为eIsAscending(R)操作结果:若有理数R的两个元素按升序排列,则返回1,否则返回0 IsDescending(R)操作结果:若有理数R的两个元素按降序排列,则返回1,否则返回0 Max(R,&e)操作结果:用e返回有理数R的两个元素中值较大的一个Min(R,&e)操作结果:用e返回有理数R的两个元素中值较小的一个}ADT RationalNumber1.5 试画出与下列程序段等价的框图。
(山东科技大学)PTA数据结构答案与解析-
2-6
若元素a、b、c、d、e、f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈工作,则不可能 得到的出栈序列是? (2分)
1. b c a e f d 2. c b d a e f 3. d c e b f a 4. a f e d c b
B代表分支数,n代表总结点数,将上边式子联立,然后带入题目中数据,可得
答案: D
2-9
若一棵二叉树的前序遍历序列是{ 4, 2, 1, 3, 6, 5, 7 },中序遍历序列是{ 1, 2, 3, 4, 5, 6, 7 },则下列哪句是错的?(3 分)
1. 这是一棵完全二叉树 2. 所有的奇数都在叶子结点上 3. 这是一棵二叉搜索树 4. 2是5的父结点 解析:根据前序,中序遍历可以建出图来,然后根据图来判断即可
答案: C
2-4
设栈S和队列Q的初始状态均为空,元素a、b、c、d、e、f、g依次进入栈S。若每个元素出栈后立即进入队列Q, 且7个元素出队的顺序是b、d、c、f、e、a、g,则栈S的容量至少是: (2分)
1. 1 2. 2 3. 3 4. 4
解析: 模拟即可 答案: C
2-5
假设有5个整数以1、2、3、4、5的顺序被压入堆栈,且出栈顺序为3、5、4、2、1,那么为了获得这样的输出, 堆栈大小至少为: (2分)
1-3 若一个栈的输入序列为{1, 2, 3, 4, 5},则不可能得到{3, 4, 1, 2, 5}这样的出栈序列。 (2分) 解析:2一定先与1出栈的 答案: T
2.单选题
2-1 给定一个堆栈的入栈序列为{ 1, 2, ⋯, n },出栈序列为{ p1, p2, ⋯, pn }。如果p2=n,则存在多少种不同的出栈序 列?(2分)
山东开放大学数据结构期末考试复习题及参考答案
数据结构期末考试复习题注:找到所考试题直接看该试题所有题目和答案即可。
查找按键:Ctrl+F超越高度一、单选题1、当两个元素出现逆序的时候就交换位置,这种排序方法称为()0A、插入排序B、交换排序C、选择排序D、归并排序正确答案:B2、有关线性表的正确说法是()oA、每个元素都有一个直接前驱和一个直接后继B、线性表至少要求一个元素C、表中的元素必须按由小到大或由大到下排序D、除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继正确答案:D3、在下列排序方法中,关键字比较的次数与记录的初始排列秩序无关的是()oA、希尔排序B、冒泡排序C、插入排序D、选择排序正确答案:D4、串是()。
A、不少于一个字母的序列B、任意个字母的序列C、不少于一个字符的序列D、有限个字符的序列正确答案:D5、向顺序栈中压入新元素时,应当()oA、先移动栈顶指针,再存入元素B、先存入元素,再移动栈顶指针C、先后次序无关紧要D、同时进行正确答案:A6、有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为()oA、29/10B、31/10C、26/10D、29户正确答案:A7、已知一个有序表为{11,22,33,44,55,66,77,88,99},则顺序查找元素55需要比较()次。
A、3B、4C、5D、6正确答案:C8、从未排序序列中依次取出元素与己经排好序的序列中的元素作比较。
将其放入已排序序列的正确的位置上,此方法称为()A、插入排序B、选择排序C、交换排序D、归并排序正确答案:A9、对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则所有顶点邻接表中的结点总数为()。
A、nB、eC、2nD、2e正确答案:D10、在一个栈顶指针为top的链栈中,将一个P指针所指的结点入栈,应执行()。
A、top->ne×t=p;B、p->next=top->next;top->next=p;C^p->next=top;top=p;D^p->ne×t=top->ne×t;top=top->next;正确答案:C11、在一个链队中,假设f和r分别为队头和队尾指针,则插入S所指结点的运算为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.单选题
2-1* 如果一棵非空k(k≥2)叉树T中每个非叶子结点都有k个孩子,则称T为正则k叉树。若T的高度为h(单结点的树 h=1),则T的结点数最多为:(3分) 1. ( 2. ( 3. ( )/(k−1) )/(k−1) )/(k−1)
4. 以上都不是 解析:将k=2带入,套用二叉树的结点树结论,发现A为正确形式 答案: A 2-2* 如果一棵非空k(k≥2)叉树T中每个非叶子结点都有k个孩子,则称T为正则k叉树。若T的高度为h(单结点的树 h=1),则T的结点数最少为:(3分) 1. ( 2. ( )/(k−1)+1 )/(k−1)−1
3. 4. 解析:这道题我不知道怎么正确推导答案,不过这题可以举一个正确的二叉树的例子,带答案用排除法做 答案: D 2-3 要使一棵非空二叉树的先序序列与中序序列相同,其所有非叶结点须满足的条件是:(2分) 1. 只有左子树 2. 只有右子树 3. 结点的度均为1 4. 结点的度均为2 解析:略 答案: B 2-4 已知一棵二叉树的树形如下图所示,其后序序列为{ e , a , c , b , d , g , f }。树中与结分支数,n代表结点数,联立上边二式可得正确答案,故选C 答案: C 单位: 浙江大学 2-8 有一个四叉树,度2的结点数为2,度3的结点数为3,度4的结点数为4。问该树的叶结点个数是多少?(2分) 1. 10 2. 12 3. 20 4. 21 解析:根据题意随便画一种符合题意的图即可判断,也可以通过公式推导。
解析:知道中序遍历和先序遍历,是可以画出树来的。如果不是很会这种方法,反正只有三个节点,大可以画图举 例。可得没有树满足先序是ABC,中序是CAB的。 我们这样去分析:由先序遍历可得A是根节点;由中序遍历可得C是左孩子,B是右孩子,而先序遍历中B是左孩 子,C是右孩子,矛盾,所以不可能滴 答案: F
1. c 2. d 3. f 4. g 解析:模拟一遍求解即可 答案: B 单位: 浙江大学 2-5 在下述结论中,正确的是: (2分) ① 只有2个结点的树的度为1; ② 二叉树的度为2; ③ 二叉树的左右子树可任意交换; ④ 在最大堆(大顶堆)中,从根到任意其它结点的路径上的键值一定是按非递增有序排列的。 1. ①④ 2. ②④ 3. ①②③ 4. ②③④
解析:二叉树度数不一定为2,比如空二叉树 答案: A 单位: 浙江大学 2-6 若一棵二叉树的后序遍历序列是{ 1, 3, 2, 6, 5, 7, 4 },中序遍历序列是{ 1, 2, 3, 4, 5, 6, 7 },则下列哪句是错的?(3 分) 1. 这是一棵完全二叉树 2. 2是1和3的父结点 3. 这是一棵二叉搜索树 4. 7是5的父结点 解析:根据后序遍历与中序遍历建树判断即可 答案: A 单位: 浙江大学 2-7 如果一棵非空k(k≥2)叉树T中每个非叶子结点都有k个孩子,则称T为正则k叉树。若T有m个非叶子结点,则T中 的叶子结点个数为:(3分) 1. mk 2. m(k−1) 3. m(k−1)+1 4. m(k−1)−1 解析:
B代表分支数,n代表总结点数,将上边式子联立,然后带入题目中数据,可得
答案: D 2-9 若一棵二叉树的前序遍历序列是{ 4, 2, 1, 3, 6, 5, 7 },中序遍历序列是{ 1, 2, 3, 4, 5, 6, 7 },则下列哪句是错的?(3 分) 1. 这是一棵完全二叉树 2. 所有的奇数都在叶子结点上 3. 这是一棵二叉搜索树 4. 2是5的父结点 解析:根据前序,中序遍历可以建出图来,然后根据图来判断即可 答案: D 2-10 按照二叉树的定义,具有3个结点的二叉树有几种? (2分) 1. 3 2. 4 3. 5 4. 6 解析:画图枚举即可,这里问二叉树种类不考虑二叉树节点值的不同。 答案: C 2-11 任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序 (2分) 1. 发生改变 2. 不发生改变 3. 不能确定 4. 以上都不对 解析:他们都是左-右,因为问的是相对次序,根节点插在哪里无所谓的 答案: B 2-12 二叉树中第5层(根的层号为1)上的结点个数最多为:(2分) 1. 8 2. 15 3. 16 4. 32 解析: 答案: C 2-13
1-5 若一个结点是某二叉树的中序遍历序列的最后一个结点,则它必是该树的前序遍历序列中的最后一个结点。 (2分) 解析:画图分析即可,考虑只有两个节点的无右子树的二叉树,中序遍历的最后一个节点是根节点,而根节点在前 序遍历中一定是在开头的。 答案: F 1-6 某二叉树的前序和中序遍历序列正好一样,则该二叉树中的任何结点一定都无左孩子。 (2分) 解析:假如存在左孩子,那么前序遍历的第一个元素肯定不等于中序遍历的第一个元素。我们分析第一层,假设根 节点的左子树不存在,那么总算前序遍历和中序遍历结果相等了,然后我们判断根节点的右子树部分,发现还是要 保证左子树不存在的。递归分析一定没有左孩子的。 答案: T 作者: DS课程组 单位: 浙江大学 1-7 已知一棵二叉树的先序遍历结果是ABC, 则CAB不可能是中序遍历结果。 (2分)
PTA数据结构部分答案与解析
树和二叉树作业—二叉树
1.判断题
1-1 某二叉树的后序和中序遍历序列正好一样,则该二叉树中的任何结点一定都无右孩子。 (2分) 解析:略,分析同1-6 答案: T 1-2 某二叉树的后序和中序遍历序列正好一样,则该二叉树中的任何结点一定都无左孩子。 (2分) 解析:略,分析同1-6 答案: F 1-3 存在一棵总共有2016个结点的二叉树,其中有16个结点只有一个孩子。 (3分) 解析:这里只说了是二叉树,没说是什么形状的,所以错误 答案: F 作者: 何钦铭 单位: 浙江大学 1-4 若 A 和 B 都是一棵二叉树的叶子结点,则存在这样的二叉树,其前序遍历序列为 ...A...B... ,而中序遍历序列 为 ...B...A... 。 (2分) 解析: 答案: F