- 博客(224)
- 收藏
- 关注
原创 oj2088 数据结构实验之栈与队列十一:refresh的停车场(双向队列)
数据结构实验之栈与队列十一:refresh的停车场(双向队列)Descriptionrefresh最近发了一笔横财,开了一家停车场。由于土地有限,停车场内停车数量有限,但是要求进停车场的车辆过多。当停车场满时,要进入的车辆会进入便道等待,最先进入便道的车辆会优先进入停车场,而且停车场的结构要求只出去的车辆必须是停车场中最后进去的车辆。现告诉你停车场容量N以及命令数M,以及一些命令(Add num 表示车牌号为num的车辆要进入停车场或便道,Del 表示停车场中出去了一辆车,Out 表示便道最前面的车
2020-06-03 21:13:28 303
原创 oj1466 双向队列
双向队列Description想想双向链表……双向队列的定义差不多,也就是说一个队列的队尾同时也是队首;两头都可以做出队,入队的操作。现在给你一系列的操作,请输出最后队列的状态;命令格式:LIN X X表示一个整数,命令代表左边进队操作;RIN X 表示右边进队操作;ROUTLOUT 表示出队操作;Input第一行包含一个整数M(M<=10000),表示有M个操作;以下M行每行包含一条命令;命令可能不合法,对于不合法的命令,请在输出中处理;Output输出的第一行包
2020-06-03 20:47:57 393
原创 简单枚举类型——植物与颜色
简单枚举类型——植物与颜色Description请定义具有red, orange, yellow, green, blue, violet六种颜色的枚举类型color,根据输入的颜色名称,输出以下六种植物花朵的颜色:Rose(red), Poppies(orange), Sunflower(yellow), Grass(green), Bluebells(blue), Violets(vio...
2020-05-31 03:56:55 2258
原创 共用体练习
共用体练习Description给定n和m,接下来有n个描述,每个描述包含一个类型标志和一组相应的数据。类型标志共3种:INT DOUBLE STRING,然后对应一组相应的数据。紧接着有m个询问,每个询问仅包含一个整数x,要求输出第x个描述对应的数据(STRING类型保证不含空格,每组对应STRING数据不会超过19个字符)。Input输入的第一行为两个整数,n和m (n<=100...
2020-05-31 03:52:38 1040
原创 oj2137 数据结构实验之求二叉树后序遍历和层次遍历
数据结构实验之求二叉树后序遍历和层次遍历Description已知一棵二叉树的前序遍历和中序遍历,求二叉树的后序遍历和层序遍历。Input输入数据有多组,第一行是一个整数t (t<1000),代表有t组测试数据。每组包括两个长度小于50 的字符串,第一个字符串表示二叉树的先序遍历序列,第二个字符串表示二叉树的中序遍历序列。Output每组第一行输出二叉树的后序遍历序列,第二行输出二叉树的层次遍历序列。SampleInput2abdegcfdbgeafcxnliulnixuO
2020-05-27 21:46:21 163
原创 oj2824 求二叉树的层次遍历
求二叉树的层次遍历Description已知一颗二叉树的前序遍历和中序遍历,求二叉树的层次遍历。Input输入数据有多组,输入T,代表有T组测试数据。每组数据有两个长度小于50的字符串,第一个字符串为前序遍历,第二个为中序遍历。Output每组输出这颗二叉树的层次遍历。SampleInput2abcbacabdecdbeacOutputabcabcde#include <bits/stdc++.h>char a[60],b[60];struct node{
2020-05-27 20:59:12 231
原创 二叉树的存储及遍历
二叉树基础二叉树的概念、性质、遍历二叉树遍历-前序遍历、中序遍历、后序遍历、层次遍历、深度优先、广度优先遍历例题:数据结构上机测试4.1:二叉树的遍历与应用1Description输入二叉树的先序遍历序列和中序遍历序列,输出该二叉树的后序遍历序列。Input第一行输入二叉树的先序遍历序列;第二行输入二叉树的中序遍历序列。Output输出该二叉树的后序遍历序列。SampleInputABDCEFBDAECFOutputDBEFCA#include<bits/stdc+
2020-05-27 20:43:43 436
原创 oj3653 迷失の搜索树
迷失の搜索树Description小璐在机缘巧合之下获得了一个二叉搜索树,这个二叉搜索树恰好有n个节点,每个节点有一个权值,每个节点的权值都在[1,n]这个区间内,并且两两不相同,真是优美的性质啊但是命运的不公又让她失去了这个二叉搜索树幸运的是,她还记得自己丢失的二叉搜索树的前序遍历序列。在丢了二叉搜索树之后,小璐无比想念她的这个树的后序遍历那么问题来了,聪明的你在知道这个二叉搜索树的前序遍历的序列的情况下,能帮她找到这个二叉搜索树的后序遍历嘛?Input多组输入,以文件结尾每组数据第一行
2020-05-21 22:49:32 200
原创 oj3329 顺序表应用5:有序顺序表归并
顺序表应用5:有序顺序表归并Description已知顺序表A与B是两个有序的顺序表,其中存放的数据元素皆为普通整型,将A与B表归并为C表,要求C表包含了A、B表里所有元素,并且C表仍然保持有序。Input输入分为三行:第一行输入m、n(1<=m,n<=10000)的值,即为表A、B的元素个数;第二行输入m个有序的整数,即为表A的每一个元素;第三行输入n个有序的整数,即为表B的每一个元素;Output输出为一行,即将表A、B合并为表C后,依次输出表C所存放的元素。Sample
2020-05-21 20:57:31 191
原创 oj3327 顺序表应用4:元素位置互换之逆置算法
顺序表应用4:元素位置互换之逆置算法Description一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),设计一个时间复杂度为O(N)、空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段。注意:先将顺序表元素调整为符合要求的内容后,再做输出,输出过程只能用一个循环语句实现,不能分成两个部分。In
2020-05-21 20:51:17 273
原创 oj2134 数据结构实验之栈与队列四:括号匹配
数据结构实验之栈与队列四:括号匹配Description给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。Input输入数据有多组,处理到文件结束。Output如果匹配就输出“yes”,不匹配输出“no”SampleInputsin(20+10){[}]Outputyesno#include <stdio.h>#include <stdlib.h>#include &
2020-05-21 13:03:42 335
原创 知识梳理:二叉查找树、平衡树
知识梳理:二叉查找树一、查找二叉排序树:简称BST也叫二叉搜索树二叉排序树可以是空树。二叉查找树中每个节点:左子树中每个节点的值都不大于该节点值。右子树中每个节点的值都不小于该节点值。二叉排序树的特点:中序遍历二叉排序树,得到一个递增的序列。二叉排序树的结点:与普通树结点一样。过程:1.从根节点开始。2.当前结点非空,看当前结点关键字是否与给定值相等。3.当前结点为空,查找失败。注意:1.查找过程与折半查找过程类似。2.折半查找的判定树就是一棵二叉排序树。二、插入1.插入
2020-05-21 12:36:41 1371
原创 oj1489 求二叉树的先序遍历
求二叉树的先序遍历Description已知一棵二叉树的中序遍历和后序遍历,求二叉树的先序遍历Input输入数据有多组,第一行是一个整数t (t<1000),代表有t组测试数据。每组包括两个长度小于50 的字符串,第一个字符串表示二叉树的中序遍历序列,第二个字符串表示二叉树的后序遍历序列。Output输出二叉树的先序遍历序列SampleInput2dbgeafcdgebfcalnixulinuxOutputabdegcfxnliu#include <stdio.
2020-05-14 22:20:31 190
原创 oj3326 顺序表应用3:元素位置互换之移位算法
顺序表应用3:元素位置互换之移位算法Description一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),借助元素移位的方式,设计一个空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段。注意:先将顺序表元素调整为符合要求的内容后,再做输出,输出过程只能用一个循环语句实现,不能分成两个部分。Inp
2020-05-14 22:19:05 212
原创 oj3325 顺序表应用2:多余元素删除之建表算法
顺序表应用2:多余元素删除之建表算法Description一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。要求:1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;2、本题的目标是熟悉在顺序表原表空间基础上建新表的算法,要在原顺序表空间的基础上完成完成删除,建表过程不得
2020-05-14 20:14:32 171
原创 oj1291数据结构上机测试4.1:二叉树的遍历与应用1
数据结构上机测试4.1:二叉树的遍历与应用1Description输入二叉树的先序遍历序列和中序遍历序列,输出该二叉树的后序遍历序列。Input第一行输入二叉树的先序遍历序列;第二行输入二叉树的中序遍历序列。Output输出该二叉树的后序遍历序列。SampleInputABDCEFBDAECFOutputDBEFCA#include<bits/stdc++.h>using namespace std;const int N = 1010;//#define N
2020-05-13 21:36:22 268
原创 oj3333 数据结构实验之栈与队列六:下一较大值(二)
数据结构实验之栈与队列六:下一较大值(二)Description对于包含n(1<=n<=100000)个整数的序列,对于序列中的每一元素,在序列中查找其位置之后第一个大于它的值,如果找到,输出所找到的值,否则,输出-1。Input输入有多组,第一行输入t(1<=t<=10),表示输入的组数;以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的n个元素。Output输出有多组,每组之间输出一个空行(最后一组之后没有);每组输出按照本序列元素的顺序
2020-05-13 21:17:27 134
原创 oj3332 数据结构实验之栈与队列五:下一较大值(一)
数据结构实验之栈与队列五:下一较大值(一)Description对于包含n(1<=n<=1000)个整数的序列,对于序列中的每一元素,在序列中查找其位置之后第一个大于它的值,如果找到,输出所找到的值,否则,输出-1。Input输入有多组,第一行输入t(1<=t<=10),表示输入的组数;以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的n个元素。Output输出有多组,每组之间输出一个空行(最后一组之后没有);每组输出按照本序列元素的顺序,依
2020-05-13 07:23:53 165
原创 oj3335 数据结构实验之栈与队列八:栈的基本操作
数据结构实验之栈与队列八:栈的基本操作Description堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。Input首先输入整数t(1 <= t <= 10),代表测试的组数,以后是 t 组输入。对于每组测试数据,第一行输入两个正整数 m(1 <= m <= 100)、n(1 <= n <= 1000),其中m代表当前栈的最大长度,n代表本组
2020-05-13 07:23:36 1430
原创 栈与队列知识点
栈的stl操作一、读取#include <stdio.h>#include <stack>//栈的头文件using namespace std;int main(){ stack<int>s; int t; scanf("%d",&t); s.push(t);//把t放进栈顶里 printf("%d",s.top());//返回栈顶的元素(读取) return 0;}输入:123输出:123二
2020-05-12 20:26:15 206
原创 oj2132 数据结构实验之栈与队列二:一般算术表达式转换成后缀式
数据结构实验之栈与队列二:一般算术表达式转换成后缀式Description对于一个基于二元运算符的算术表达式,转换为对应的后缀式,并输出之。Input输入一个算术表达式,以‘#’字符作为结束标志。Output输出该表达式转换所得到的后缀式。SampleInputa*b+(c-d/e)*f#Outputabcde/-f+#include <stdio.h>#include <stdlib.h>int main(){ int s[101];
2020-05-09 17:35:53 264
原创 oj2131 数据结构实验之栈与队列一:进制转换
数据结构实验之栈与队列一:进制转换Description输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。Input第一行输入需要转换的十进制非负整数;第二行输入 R。Output输出转换所得的 R 进制数。SampleInput12798Output2377#include <stdio.h>#include <stdlib.h>int main(){ int s[101]; in
2020-05-09 15:45:09 262
原创 oj3324 顺序表应用1:多余元素删除之移位算法
Prob.3324Description一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。要求:1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;2、本题的目...
2020-05-07 00:22:23 231
原创 走迷宫
走迷宫Description有一个mn格的迷宫(表示有m行、n列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,输入这mn个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。现在要你编程找出所有可行的道路,要求所走的路中没有重复的点,走时只能是上下左右四个方向。如果一条路都不可行,则输出相应信息(用-1表示无路)。Input第一行是...
2020-05-01 11:32:10 724
原创 取数字问题
取数字问题Description给定M×N的矩阵,其中的每个元素都是-10到10之间的整数。你的任务是从左上角(1,1)走到右下角(M,N),每一步只能够向右或者向下,并且不能够走出矩阵的范围。你所经过的方格里面的数字都必须被选取,请找出一条最合适的道路,使得在路上被选取的数字之和是尽可能小的正整数。Input输入第1行是两个整数M和N,(2<=M<=10,2<=N<...
2020-05-01 10:13:26 588 1
原创 最长公共子序列
最长公共子序列Description从一个给定的串中删去(不一定连续地删去)0个或0个以上的字符,剩下地字符按原来顺序组成的串。例如:“ ”,“a”,“xb”,“aaa”,“bbb”,“xabb”,“xaaabbb”都是串“xaaabbb”的子序列。(例子中的串不包含引号。)编程求N个非空串的最长公共子序列的长度。限制:2<=N<=100;N个串中的字符只会是数字0,1,…,9或...
2020-05-01 10:13:13 693
原创 上升子序列
上升子序列Description一个只包含非负整数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列{a1, a2, …,aN},我们可以得到一些上升的子序列{ai1, ai2, …, aiK},这里1 ≤ i1 < i2 <…< iK ≤ N。例如:对于序列{1, 7, 3, 5, 9, 4, 8},有它的一些...
2020-05-01 09:40:34 1734
原创 最长上升子序列
最长上升子序列Description一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1<= i1 < i2 < … < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8)...
2020-04-21 10:53:09 618
原创 最长公共子序列问题
最长公共子序列问题Description给定两个序列 X={x1,x2,…,xm} 和 Y={y1,y2,…,yn},找出X和Y的最长公共子序列。Input输入数据有多组,每组有两行 ,每行为一个长度不超过500的字符串(输入全是大写英文字母(A,Z)),表示序列X和Y。Output每组输出一行,表示所求得的最长公共子序列的长度,若不存在公共子序列,则输出0。SampleInput...
2020-04-21 10:40:49 1968
原创 小鑫去爬山
小鑫去爬山Description马上就要放假了,小鑫打算去爬山。 小鑫要去爬的这座山有n个海拔区间。为了清楚描述我们可以从上到下标号1到n。第i个区间有i个落脚点,每一个落脚点都有一个危险值。小鑫需要在第n个海拔区间挑选一个点向上爬,爬到第1个海拔区间(也就是山顶)。他必须规划一条路径,让危险值之和最小。这样才安全的。并不是任意两个落脚点之间都可以相互到达。我们这样定义对于第i个(i&...
2020-04-21 09:51:05 400
原创 递归的函数
递归的函数Description给定一个函数 f(a, b, c):如果 a ≤ 0 或 b ≤ 0 或 c ≤ 0 返回值为 1;如果 a > 20 或 b > 20 或 c > 20 返回值为 f(20, 20, 20);如果 a < b 并且 b < c 返回 f(a, b, c−1) + f(a, b−1, c−1) − f(a, b−1, c);...
2020-04-21 09:08:02 599
原创 动态规划——数学三角形
数学三角形(1)问题描述给定一个具有N层的数字三角形,从顶至底有多条路径,每一步可沿左斜线向下或沿右斜线向下,路径所经过的数字之和为路径得分,请求出最大路径得分。(2)解题思路为使三角形更方便输入,三角形每行的输入位置相同,上面的三角形输入格式为:原三角形中左下与右下的走法,用新的三角形输入后变为每一步可沿直线向下或右斜线向下走;递归方法求解的基本思路:D[i][j]表示数字三角形...
2020-04-21 08:50:06 1141
原创 动态规划——最长公共子序列问题
1.问题描述一个给定序列的子序列:在该序列中删去若干元素后得到的序列。公共子序列:给定2个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。最长公共子序列:公共子序列中长度最长的公共子序列最长公共子序列(LCS)问题叙述:给定2个序列X={x1,…,xm}和Y={y1,…,yn}要求找出X和Y的一个最长公共子序列。输入要求:输入共有两行,每行是一...
2020-04-21 08:49:47 1376
原创 免费馅饼
免费馅饼Description都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷...
2020-04-21 08:27:26 259
原创 商人的诀窍
商人的诀窍DescriptionE_star和von是中国赫赫有名的两位商人,俗话说的好无商不奸,最近E_star需要进一批苹果。可是他需要的苹果只有von才有,von的苹果都存在他的传说中很牛叉的仓库里,每个仓库都存了不同种类的苹果,而且每个仓库里的苹果的价钱不同。如果E_star想要买仓库i里的所有重量为f[i]的苹果他必须付m[i]的金钱。E_star开着他的传说中的毛驴车去拉苹果,而且...
2020-04-19 13:26:24 380
原创 商人小鑫
商人小鑫Description小鑫是个商人,当然商人最希望的就是多赚钱,小鑫也一样。 这天,他来到了一个遥远的国度。那里有着n件商品,对于第i件商品需要付出ci的价钱才能得到。当然,对于第i件商品,小鑫在自己心中有一个估价pi:代表着当他买下这件商品后带回他的国家可以卖出的价格。小鑫只能带回m件商品,你能帮他计算一下他最多能赚多少钱么?Input输入有多组,到文件结束。(注:数据有很多组...
2020-04-19 13:21:59 285
原创 装船问题
装船问题Description王小二毕业后从事船运规划工作,吉祥号货轮的最大载重量为M吨,有10种货物可以装船。第i种货物有wi吨,总价值是pi。王小二的任务是从10种货物中挑选若干吨上船,在满足货物总重量小于等于M的前提下,运走的货物的价重比最大。Input输入数据的第一行有一个正整数M(0 < M < 10000),表示所有货物最大载重量。在接下来的10行中,每行有若干个数...
2020-04-19 13:18:30 445
原创 懒虫小鑫
懒虫小鑫Description小鑫是个大懒虫,但是这一天妈妈要小鑫去山上搬些矿石去城里卖以补贴家用。小鑫十分的不开心。不开心归不开心,小鑫还是要做这件事情的。我们把这个事情简化一下。有n块矿石,设第i块矿石由两个数字wi和pi表示。分别表示这块石头的重量和可以卖的价钱。小鑫每次只能搬一块矿石去城里卖,所以他决定每次都会搬重量最小的那块。如果恰好有几块重量相等,那就在这几块中挑选价值最高的带走...
2020-04-19 11:21:31 483
原创 最少拦截系统
最少拦截系统Description某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹.怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,...
2020-04-18 19:16:34 243
原创 数字三角形问题
数字三角形问题Description给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底的路径经过的数字和的最大值。Input输入数据的第1行是数字三角形的行数n,1≤n≤100。接下来n行是数字三角形各行中的数字。所有数字在0…99之间。Output输出...
2020-04-14 11:24:53 439
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人