PTA山科数据结构编程作业集
markconca的博客
研究方向:深度学习相关应用
副业:计算机考研(数据结构,计网,计组,OS)的相关知识欢迎一起交流
展开
-
山东科技大学_2018数据结构期末考试_(A卷)带详解
17级计科与信安的数据结构期末题(A卷)这个判断选择的顺序考试时都是打乱的,我这个是作废版的,顺序有点混乱,但题都是一样的解析在后面!!!有不会的私聊我就好一.判断题二.选择题三.函数题6-1 先序输出叶结点 (12 分)本题要求按照先序遍历的顺序输出给定二叉树的叶结点。函数接口定义:void Preorde...原创 2018-12-29 16:38:43 · 16841 阅读 · 12 评论 -
6-35 单链表元素定位 (12 分)
6-35 单链表元素定位 (12 分)本题要求在链表中查找第一个数据域取值为x的节点,返回节点的位序。L是一个带头结点的单链表,函数ListLocate_L(LinkList L, ElemType x)要求在链表中查找第一个数据域取值为x的节点,返回其位序(从1开始),查找不到则返回0。例如,原单链表各个元素节点的元素依次为1,2,3,4,则ListLocate_L(L, 1)返回1,Lis...原创 2018-12-12 21:10:08 · 435 阅读 · 0 评论 -
6-89 带头结点的单链表就地逆置 (10 分)
6-89 带头结点的单链表就地逆置 (10 分)本题要求编写函数实现带头结点的单链线性表的就地逆置操作函数。L是一个带头结点的单链表,函数ListReverse_L(LinkList &L)要求在不新开辟节点的前提下将单链表中的元素进行逆置,如原单链表元素依次为1,2,3,4,则逆置后为4,3,2,1。函数接口定义:void ListReverse_L(LinkList &a...原创 2018-12-12 21:08:53 · 4341 阅读 · 1 评论 -
7-2 是否完全二叉搜索树 (30 分)第九章查找表-二叉排序树-计算机17级
7-2 是否完全二叉搜索树 (30 分)将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。输入格式:输入第一行给出一个不超过20的正整数N;第二行给出N个互不相同的正整数,其间以空格分隔。输出格式:将输入的N个正整数顺序插入一个初始为空的二叉搜索树。在第一行中输出结果树的层序遍历...原创 2018-11-27 21:18:19 · 1116 阅读 · 1 评论 -
04-树4 是否同一棵二叉搜索树 (25 分)第九章查找表-二叉排序树-计算机17级
7-1 是否同一棵二叉搜索树 (25 分)给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤1...原创 2018-11-27 20:08:38 · 280 阅读 · 0 评论 -
7-1 城市间紧急救援 (25 分)第七章-图-最短路-计算机17级
7-1 城市间紧急救援 (25 分)作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出4个正整数N、M、S、D,其中N(2...原创 2018-11-29 18:36:53 · 1135 阅读 · 0 评论 -
7-1 两个有序序列的中位数 (25 分)第九章-查找-静态查找表-计算机17级
7-1 两个有序序列的中位数 (25 分)已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A0,A1,⋯,AN−1的中位数指A(N−1)/2的值,即第⌊(N+1)/2⌋个数(A0为第1个数)。输入格式:输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入一个序列的信息,即N个非降序排列的整数...原创 2018-11-26 09:21:32 · 1003 阅读 · 0 评论 -
7-2 天梯地图 (30 分)第七章-图-最短路-计算机17级
7-2 天梯地图 (30 分)本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线;一条是最短距离的路线。题目保证对任意的查询请求,地图上都至少存在一条可达路线。输入格式:输入在第一行给出两个正整数N(2 ≤ N ≤ 500)和M,分别为地图中所有标记地点的个数和连接地点的道路条数。随后M行,每行按如下格式给出一条道路的信...原创 2018-11-24 23:09:56 · 649 阅读 · 0 评论 -
7-11 关键活动(30 分)(拓扑排序与关键活动) 第七章-图-拓扑排序与关键路径-计算机17级
7-1 关键活动 (30 分)假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比如英语和C程序设计,它们没有必须先修哪门的约束;有些课程则不可以...转载 2018-11-21 10:42:29 · 549 阅读 · 0 评论 -
7-2 畅通工程之最低成本建设问题 (30 分)第七章-图-图的最小生成树-计算机17级
7-2 畅通工程之最低成本建设问题 (30 分)某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的快速道路相连,只要互相间接通过快速路可达即可)。现得到城镇道路统计表,表中列出了有可能建设成快速路的若干条道路的成本,求畅通工程需要的最低成本。输入格式:输入的第一行给出城镇数目N (1&...原创 2018-11-26 10:14:10 · 893 阅读 · 0 评论 -
6-1 循环单链表区间删除 (15 分)
6-1 循环单链表区间删除 (15 分)本题要求实现带头结点的循环单链表的创建和单链表的区间删除。L是一个带头结点的循环单链表,函数ListCreate_CL用于创建一个循环单链表,函数ListDelete_CL用于删除取值大于min小于max的链表元素。函数接口定义: Status ListCreate_CL(LinkList &CL); void List...原创 2018-12-12 21:11:41 · 1036 阅读 · 0 评论 -
山东科技大学-2017年12数据结构期末考试题
判断题答案: 1-5: T, F, T, T, F 6-10: T, F, T, F, F选择题答案: 1-5: D, A, D, B, C 6-10: B, B, D, B, C 11-15: C, B, B, C, B, C2017-2018-1-数据结构期末考试-计算机16-1/2;信息安全16-1/2原文:https:...转载 2018-12-21 19:22:51 · 5171 阅读 · 1 评论 -
6-1 删除单链表中最后一个与给定值相等的结点 (10 分)2017年山东科技大学数据结构期末考试题
6-1 删除单链表中最后一个与给定值相等的结点 (10 分)本题要求在链表中删除最后一个数据域取值为x的节点。L是一个带头结点的单链表,函数ListLocateAndDel_L(LinkList L, ElemType x)要求在链表中查找最后一个数据域取值为x的节点并将其删除。例如,原单链表各个节点的数据域依次为1 3 1 4 3 5,则ListLocateAndDel_L(L,3)执行后,...原创 2018-12-21 09:01:24 · 1648 阅读 · 1 评论 -
7-1 悄悄关注 (25 分)---排序Java容器实现
7-1 悄悄关注 (25 分)新浪微博上有个“悄悄关注”,一个用户悄悄关注的人,不出现在这个用户的关注列表上,但系统会推送其悄悄关注的人发表的微博给该用户。现在我们来做一回网络侦探,根据某人的关注列表和其对其他用户的点赞情况,扒出有可能被其悄悄关注的人。输入格式:输入首先在第一行给出某用户的关注列表,格式如下:人数N 用户1 用户2 …… 用户N其中N是不超过5000的正整...原创 2018-12-29 16:39:06 · 762 阅读 · 0 评论 -
6-73 有序顺序表的插入 (10 分)
6-73 有序顺序表的插入 (10 分)本题要求实现递增顺序表的有序插入函数。L是一个递增的有序顺序表,函数Status ListInsert_SortedSq(SqList &L, ElemType e)用于向顺序表中按递增的顺序插入一个数据。 比如:原数据有:2 5,要插入一个元素3,那么插入后顺序表为2 3 5。 要考虑扩容的问题。函数接口定义:Status ListI...原创 2018-12-11 20:47:28 · 2338 阅读 · 0 评论 -
6-72 顺序表创建和就地逆置 (10 分)
6-72 顺序表创建和就地逆置 (10 分)本题要求实现顺序表的创建和就地逆置操作函数。L是一个顺序表,函数ListCreate_Sq(SqList &L)用于创建一个顺序表,函数ListReverse_Sq(SqList &L)是在不引入辅助数组的前提下将顺序表中的元素进行逆置,如原顺序表元素依次为1,2,3,4,则逆置后为4,3,2,1。函数接口定义:Status...原创 2018-12-11 20:46:18 · 401 阅读 · 0 评论 -
6-2 顺序表基本操作 (10 分)
6-2 顺序表基本操作 (10 分)本题要求实现顺序表元素的增、删、查找以及顺序表输出共4个基本操作函数。L是一个顺序表,函数Status ListInsert_Sq(SqList &L, int pos, ElemType e)是在顺序表的pos位置插入一个元素e(pos应该从1开始),函数Status ListDelete_Sq(SqList &L, int pos, El...原创 2018-12-11 20:44:44 · 2907 阅读 · 0 评论 -
7-3 冒泡法排序 (20 分)第十章排序--交换类排序与选择类排序-计算机17级
7-3 冒泡法排序 (20 分)将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。本题要求对任意给定的K(<N),输出扫描完第K遍后的中间结果数列。输入格式:...原创 2018-12-11 13:31:11 · 1381 阅读 · 0 评论 -
两个有序链表序列的合并 (20 分)
7-90 两个有序链表序列的合并 (20 分)已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样...原创 2018-12-22 15:39:27 · 2435 阅读 · 0 评论 -
7-297 判断上三角矩阵 (15 分
7-297 判断上三角矩阵 (15 分)上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。输入格式:输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。输出格式:每个矩阵的判断...原创 2018-12-21 21:41:36 · 1250 阅读 · 0 评论 -
求链式线性表的倒数第K项 (20 分)
7-118 求链式线性表的倒数第K项 (20 分)给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。输入格式:输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。输出格式:输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。输入样例:4 1 2 3 4 5 6 7 8 9 0 ...原创 2018-12-21 20:34:56 · 1139 阅读 · 1 评论 -
7-1 寻找大富翁 (25 分)(STL)第十章排序--交换类排序与选择类排序-计算机17级
7-1 寻找大富翁 (25 分)胡润研究院的调查显示,截至2017年底,中国个人资产超过1亿元的高净值人群达15万人。假设给出N个人的个人资产值,请快速找出资产排前M位的大富翁。输入格式:输入首先给出两个正整数N(≤106)和M(≤10),其中N为总人数,M为需要找出的大富翁数;接下来一行给出N个人的个人资产值,以百万元为单位,为不超过长整型范围的整数。数字间以空格分隔。输出...原创 2018-12-10 22:27:43 · 309 阅读 · 0 评论 -
7-1 畅通工程之局部最小花费问题 (35 分)第七章-图-图的最小生成树-计算机17级
7-1 畅通工程之局部最小花费问题 (35 分)某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的快速道路相连,只要互相间接通过快速路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建快速路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全地区畅通需要的最低成本。输入...原创 2018-11-26 10:14:29 · 248 阅读 · 0 评论 -
6-2 邻接表存储图的广度优先遍历 (20 分)第七章--图--基本概念-计算机17级
6-2 邻接表存储图的广度优先遍历 (20 分)试实现邻接表存储图的广度优先遍历。函数接口定义:void BFS ( LGraph Graph, Vertex S, void (*Visit)(Vertex) );其中LGraph是邻接表存储的图,定义如下:/* 邻接点的定义 */typedef struct AdjVNode *PtrToAdjVNode; stru...原创 2018-11-14 12:24:32 · 6830 阅读 · 2 评论 -
家谱处理 (30 分)第六章树和二叉树--树和森林-计算机17级 7-2
7-2 家谱处理 (30 分)人类学研究对于家族很感兴趣,于是研究人员搜集了一些家族的家谱进行研究。实验中,使用计算机处理家谱。为了实现这个目的,研究人员将家谱转换为文本文件。下面为家谱文本文件的实例:John Robert Frank Andrew Nancy David家谱文本文件中,每一行包含一个人的名字。第一行中的名字是这个家族最早的祖先。家...原创 2018-11-08 18:18:01 · 573 阅读 · 0 评论 -
7-1 一元多项式的乘法与加法运算 (20 分)
7-1 一元多项式的乘法与加法运算 (20 分)设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应...原创 2018-10-10 10:14:26 · 1803 阅读 · 1 评论 -
第三章作业题3--队列-计算机17级 7-1 银行业务队列简单模拟 (25 分)
7-1 银行业务队列简单模拟 (25 分)设某银行有A、B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 —— 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客。给定到达银行的顾客序列,请按业务完成的顺序输出顾客序列。假定不考虑顾客先后到达的时间间隔,并且当不同窗口同时处理完2个顾客时,A窗口顾客优先输出。输入格式:输入为一行正整数,其中第1个数字N(≤100...原创 2018-10-18 21:51:51 · 1698 阅读 · 0 评论 -
第二章作业题2-链表-计算机17级 7-4 jmu-ds-循环单链表的基本运算 (15 分)
实现循环单链表的基本运算:初始化、插入、删除、求表的长度、判空、释放。(1)初始化循环单链表L,输出(L->next==L)的逻辑值;(2)依次采用尾插法插入元素:输入分两行数据,第一行是尾插法需要插入的字符数据的个数,第二行是具体插入的字符数据。(3)输出循环单链表L;(4)输出循环单链表L的长度;(5)判断循环单链表L是否为空;(6)输出循环单链表L的第3个元素;(7)输出...原创 2018-09-30 10:23:15 · 422 阅读 · 0 评论 -
第二章作业题2-链表-计算机17级 7-3 jmu-ds-单链表的基本运算 (15 分)
7-3 jmu-ds-单链表的基本运算 (15 分)实现单链表的基本运算:初始化、插入、删除、求表的长度、判空、释放。(1)初始化单链表L,输出L->next的值;(2)依次采用尾插法插入元素:输入分两行数据,第一行是尾插法需要插入的字符数据的个数,第二行是具体插入的字符数据。(3)输出单链表L;(4)输出单链表L的长度;(5)判断单链表L是否为空;(6)输出单链表L的第3个...原创 2018-09-29 19:10:57 · 508 阅读 · 0 评论 -
第三章栈作业题2-栈及其应用-计算机17级 7-2 符号配对 (20 分)
7-2 符号配对 (20 分)请编写程序检查C语言源程序中下列符号是否配对:/*与*/、(与)、[与]、{与}。输入格式:输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查配对的符号不超过100个。输出格式:首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则...原创 2018-10-17 10:36:54 · 1484 阅读 · 0 评论 -
第三章栈作业题2-栈及其应用-计算机17级 6-1 爆内存函数实例 (6 分)
6-1 爆内存函数实例 (6 分)本题要求实现一个递归函数,用户传入非负整型参数n,用户依次输出1到n之间的整数。所谓递归函数就是指自己调用自己的函数。说明:(1)递归函数求解问题的基本思想是把一个大规模问题的求解归结为一个相对较小规模问题的求解,小规模归结为小小规模,以此类推,直至问题规模小至边界(边界问题可直接求解)。递归函数由两部分组成,一部分为递归边界,另一部分为递归关系式...原创 2018-10-15 09:34:56 · 556 阅读 · 0 评论 -
第三章作业1-栈-计算机17级 7-17 堆栈操作合法性 (20 分)
7-17 堆栈操作合法性 (20 分)假设以S和X分别表示入栈和出栈操作。如果根据一个仅由S和X构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序列是合法的堆栈操作序列。请编写程序,输入S和X序列,判断该序列是否合法。输入格式:输入第一行给出两个正整数N和M,其中N是待测序列的个数,M(≤50)是堆栈的最大容量。随后N行,每行中给出一个...原创 2018-10-07 23:26:42 · 790 阅读 · 0 评论 -
第二章作业题2-链表-计算机17级 PTA 7-2 两个有序链表序列的交集(20 分)
已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出两个输入序列的交集序列,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 2 5 -12 4 5 8 10 -...原创 2018-09-28 21:42:07 · 1001 阅读 · 0 评论 -
第二章作业题1-顺序表-计算机17级 7-1 jmu-ds-集合的并交差运算 (15 分)
7-1 jmu-ds-集合的并交差运算 (15 分)有两个整数集合A和B,现在要求实现集合的并、交、差运算。例如A={2,7,9} ,B={3,7,12,2},则集合的并C=A∪B={2,7,9,3,12},而集合的交 C=A∩B={2,7},集合的差C=A-B={9}。集合A和B中元素个数在1~100之间。输入格式:三行,第一行分别为集合A,B的个数第二行为A集合的数据第三行为B...原创 2018-10-05 00:12:18 · 1252 阅读 · 0 评论 -
(一道老坑爹的题)第三章栈作业题2-栈及其应用-计算机17级 7-1 表达式转换 (25 分)
7-1 表达式转换 (25 分)算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。输入格式:输入在一行中给出不含空格的中缀表达式,可包含+、-、*、\以及左右括号(),表达式不超过20个字符。输出格式:在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号...原创 2018-10-17 00:31:19 · 3323 阅读 · 4 评论 -
第三章 循环队列及线性结构综合-计算机17级 7-2 列车调度 (25 分)
7-2 列车调度 (25 分)火车站的列车调度铁轨的结构如下图所示。两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?...原创 2018-10-26 11:23:34 · 525 阅读 · 1 评论 -
第三章作业1-栈-计算机17级 7-16 一元多项式求导 (20 分)
7-16 一元多项式求导 (20 分)设计函数求一元多项式的导数。输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。输入样例:3 4 -5 2 6 1 -2 0输出样例:12 3 -10 1 6 0...原创 2018-10-10 19:20:27 · 305 阅读 · 0 评论 -
6-1 邻接矩阵存储图的深度优先遍历 (20 分) 第七章--图--基本概念-计算机17级
6-1 邻接矩阵存储图的深度优先遍历 (20 分)试实现邻接矩阵存储图的深度优先遍历。函数接口定义:void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) );其中MGraph是邻接矩阵存储的图,定义如下:typedef struct GNode *PtrToGNode;struct GNode{ int ...原创 2018-11-14 00:05:49 · 1917 阅读 · 0 评论 -
求二叉树高度 (20 分)第六章树和二叉树作业1—二叉树--计算机17级 6-1
6-1 求二叉树高度 (20 分)本题要求给定二叉树的高度。函数接口定义:int GetHeight( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree ...原创 2018-11-05 21:07:10 · 591 阅读 · 0 评论 -
修理牧场 (25 分)第六章树和二叉树--Huffman树-计算机17级 7-1
7-1 修理牧场 (25 分)农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数Li个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是Li的总和。但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯...原创 2018-11-10 22:23:20 · 402 阅读 · 0 评论