(山东科技大学)PTA数据结构答案与解析

合集下载

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。

山东科技大学数据库原理试卷A与参考答案及评分标准

山东科技大学数据库原理试卷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数据结构答案与解析

(山东科技大学)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年

山东科技大学数据结构与操作系统考研真题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(有答案)

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卷)答案

山东科技大学《数据结构》期末试卷(A卷)答案
1.C 2.D 3.C 4.C 5.A 6.B 7.D 8.C 9.B 10.C
三、应用题ห้องสมุดไป่ตู้每题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)

数据结构课后答案(20201127235338)

第1章绪论1 •简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。

答案:数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。

如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。

数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。

在有些情况下,数据元素也称为元素、结点、记录等。

数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。

数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。

例如,学生基本信息表中的学号、姓名、性别等都是数据项。

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

例如:整数数据对象是集合N={0, ± 1,土2,…},字母字符数据对象是集合C={ ‘A',‘ B',…,‘ Z', ‘a',‘ $,•••,‘ z' }, 学生基本信息表也可是一个数据对象。

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。

换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。

逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。

存储结构:数据对象在计算机中的存储表示,也称为物理结构。

抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。

具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。

2•试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。

答案:例如有一张学生基本信息表,包括学生的学号、姓名、性别、籍贯、专业等。

每个学生基本信息记录对应一个数据元素,学生记录按顺序号排列,形成了学生基本信息记录的线性序列。

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

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

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

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

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

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

(2)链式存储方法。

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

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

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

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

(3)索引存储方法。

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

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

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

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

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

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

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

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

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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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
相关文档
最新文档