自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 SDUTACM 数据结构实验之串一:KMP简单应用

题目描述给定两个字符串string1和string2,判断string2是否为string1的子串。输入 输入包含多组数据,每组测试数据包含两行,第一行代表string1(长度小于1000000),第二行代表string2(长度小于1000000),string1和string2中保证不出现空格。输出 对于每组输入数据,若string2是string1的子串,则输出string

2016-08-25 20:06:45 321

原创 SDUTACM 双向队列

题目描述      想想双向链表……双向队列的定义差不多,也就是说一个队列的队尾同时也是队首;两头都可以做出队,入队的操作。现在给你一系列的操作,请输出最后队列的状态;命令格式:LIN X  X表示一个整数,命令代表左边进队操作;RIN X  表示右边进队操作;ROUTLOUT   表示出队操作;输入第一行包含一个整数M(M以下M行每行包含一条命

2016-08-25 19:40:45 423

原创 SDUTACM 数据结构实验之栈六:下一较大值(二)

题目描述对于包含n(1输入 输入有多组,第一行输入t(1<=t<=10),表示输入的组数;以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的n个元素。输出 输出有多组,每组之间输出一个空行(最后一组之后没有);每组输出按照本序列元素的顺序,依次逐行输出当前元素及其查找结果,两者之间以-->间隔。示例输入24 12 2

2016-08-25 10:35:38 336

原创 SDUTACM 数据结构实验之栈一:进制转换

题目描述输入一个十进制整数,将其转换成对应的R(2输入第一行输入需要转换的十进制数;第二行输入R。输出输出转换所得的R进制数。示例输入12798示例输出2377提示 #include#includestruct hh { int data[10010]; int top;};void main(){ int n,r

2016-08-25 10:11:51 422

原创 SDUTACM 顺序表应用1:多余元素删除之移位算法

题目描述一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。要求:       1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;       2、本题的

2016-08-25 09:04:39 406

原创 SDUTACM 数据结构实验之排序五:归并求逆序数

题目描述对于数列a1,a2,a3…中的任意两个数ai,aj (i  aj,那么我们就说这两个数构成了一个逆序对;在一个数列中逆序对的总数称之为逆序数,如数列 1 6 3 7 2 4 9中,(6,4)是一个逆序对,同样还有(3,2),(7,4),(6,2),(6,3)等等,你的任务是对给定的数列求出数列的逆序数。输入输入数据N(N  输出输出逆

2016-08-22 15:45:11 366

原创 SDUTACM 数据结构实验之排序四:寻找大富翁

题目描述2015胡润全球财富榜调查显示,个人资产在1000万以上的高净值人群达到200万人,假设给出N个人的个人资产值,请你快速找出排前M位的大富翁。输入首先输入两个正整数N( N ≤ 10^6)和M(M ≤ 10),其中N为总人数,M为需要找出的大富翁数目,接下来给出N个人的个人资产,以万元为单位,个人资产数字为正整数,数字间以空格分隔。输出一行数据,按降

2016-08-22 15:07:01 704

原创 SDUTACM 数据结构实验之排序六:希尔排序

题目描述我们已经学习了各种排序方法,知道在不同的情况下要选择不同的排序算法,以期达到最好的排序效率;对于待排序数据来说,若数据基本有序且记录较少时, 直接插入排序的效率是非常好的,希尔排序就是针对一组基本有序的少量数据记录进行排序的高效算法。你的任务是对于给定的数据进行希尔排序,其中增量dk=n/(2^k)(k=1,2,3……)输入连续输入多组数据,每组输入数据的第一行

2016-08-19 10:37:45 619

原创 SDUTACM 数据结构实验之排序七:选课名单

题目描述随着学校规模的扩大,学生人数急剧增加,选课名单的输出也成为一个繁重的任务,我校目前有在校生3万多名,两千多门课程,请根据给定的学生选课清单输出每门课的选课学生名单。输入输入第一行给出两个正整数N( N ≤ 35000)和M(M ≤ 2000),其中N是全校学生总数,M是课程总数,随后给出N行,每行包括学生姓名拼音+学号后两位(字符串总长度小于10)、数字S代表该

2016-08-18 20:16:41 490

原创 SDUTACM 数据结构实验之查找五:平方之哈希表

题目描述给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1,2,3,...,m-1输入输入一组测试数据,数据的第1行给出两个正整数N(N = 2N的最小素数),N是要插入到哈希表的元素个数,P是哈希表表长;第2行给出N个无重复元素的

2016-08-18 19:08:31 515

原创 SDUTACM 数据结构实验之查找七:线性之哈希表

题目描述根据给定的一系列整数关键字和素数p,用除留余数法定义hash函数H(Key)=Key%p,将关键字映射到长度为p的哈希表中,用线性探测法解决冲突。重复关键字放在hash表中的同一位置。输入连续输入多组数据,每组输入数据第一行为两个正整数N(N = N的最小素数),N是关键字总数,p是hash表长度,第2行给出N个正整数关键字,数字间以空格间隔。输出

2016-08-18 17:10:36 829

原创 SDUTACM 查找练习 hash——出现过的数字

题目描述有一个数据字典,里面存有n个数字(n 输入 输入数据只有一组!第一行包含两个整数n m,分别代表字典中数字的个数和要查询的数字的个数。接着n行代表字典中的n个数字。最后m表示要查询的数字。输出 如果某个数字存在,则输出YES,否则输出NO 示例输入5 3123455410示例输出Y

2016-08-18 15:37:20 401

原创 AOE网关键路径的算法,最最最最直接的算法,一学就会

先了解一下AOE网和关键路径:如果在有向图中用顶点表示事件,用弧表示活动,用弧上的权表示活动持续时间,称该带权有向图(即有向网)为边表示活动的网(activity on edge network),简称AOE网。在AOE网中,只有一个顶点代表的事件发生后,从该顶点出发的各个弧所代表的活动才能开始,只有以弧头关联一个顶点的各个弧所代表的活动都已结束,该顶点所代表的事件才能发生。一项工程可

2016-08-18 09:22:34 13589

原创 SDUTACM 数据结构实验之图论七:驴友计划

题目描述做为一个资深驴友,小新有一张珍藏的自驾游线路图,图上详细的标注了全国各个城市之间的高速公路距离和公路收费情况,现在请你编写一个程序,找出一条出发地到目的地之间的最短路径,如果有多条路径最短,则输出过路费最少的一条路径。输入连续T组数据输入,每组输入数据的第一行给出四个正整数N,M,s,d,其中N(2 输出在同一行中输出路径长度和收费总额,数据间用空格间隔。

2016-08-17 19:39:55 575

原创 SDUTACM 完美网络

题目描述完美网络是连通网络的基础上要求去掉网络上任意一条线路,网络仍然是连通网络。求一个连通网络要至少增加多少条边可以成为完美网络。输入第一行输入一个数T代表测试数据个数(T(0 输出对于每个样例输出最少增加多少线路可以成为完美网络。每行输出一个结果。示例输入23 11 23 21 22 3示例输出21

2016-08-17 10:22:28 878

原创 SDUTACM 数据结构实验:连通分量个数

题目描述 在无向图中,如果从顶点vi到顶点vj有路径,则称vi和vj连通。如果图中任意两个顶点之间都连通,则称该图为连通图,否则,称该图为非连通图,则其中的极大连通子图称为连通分量,这里所谓的极大是指子图中包含的顶点个数极大。例如:一个无向图有5个顶点,1-3-5是连通的,2是连通的,4是连通的,则这个无向图有3个连通分量。 输入 第一行是一个整数T,表示有T组测试样例

2016-08-16 19:27:04 397

原创 SDUTACM 数据结构实验之图论六:村村通公路

题目描述当前农村公路建设正如火如荼的展开,某乡镇政府决定实现村村通公路,工程师现有各个村落之间的原始道路统计数据表,表中列出了各村之间可以建设公路的若干条道路的成本,你的任务是根据给出的数据表,求使得每个村都有公路连通所需要的最低成本。输入连续多组数据输入,每组数据包括村落数目N(N 输出输出使每个村庄都有公路连通所需要的最低成本,如果输入数据不能使所有村庄畅通,则输出-1,表

2016-08-16 16:32:08 1172

原创 SDUTACM 图结构练习——最小生成树

题目描述 有n个城市,其中有些城市之间可以修建公路,修建不同的公路费用是不同的。现在我们想知道,最少花多少钱修公路可以将所有的城市连在一起,使在任意一城市出发,可以到达其他任意的城市。 输入 输入包含多组数据,格式如下。第一行包括两个整数n m,代表城市个数和可以修建的公路个数。(n 剩下m行每行3个正整数a b c,代表城市a 和城市b之间可以修建一条公路,代

2016-08-16 16:19:26 343

原创 SDUTACM 数据结构实验之图论八:欧拉回路

题目描述在哥尼斯堡的一个公园里,有七座桥将普雷格尔河中两个岛及岛与河岸连接起来。能否走过这样的七座桥,并且每桥只走一次?瑞士数学家欧拉最终解决了这个问题并由此创立了拓扑学。欧拉通过对七桥问题的研究,不仅圆满地回答了哥尼斯堡七桥问题,并证明了更为广泛的有关一笔画的三条结论,人们通常称之为欧拉定理。对于一个连通图,通常把从某结点出发一笔画成所经过的路线叫做欧拉路。人们又通常把一

2016-08-16 14:25:43 379

原创 SDUTACM 数据结构实验之图论四:迷宫探索

题目描述有一个地下迷宫,它的通道都是直的,而通道所有交叉点(包括通道的端点)上都有一盏灯和一个开关;请问如何从某个起点开始在迷宫中点亮所有的灯并回到起点?输入连续T组数据输入,每组数据第一行给出三个正整数,分别表示地下迷宫的结点数N(1  输出若可以点亮所有结点的灯,则输出从S开始并以S结束的序列,序列中相邻的顶点一定有边,否则只输出部分点亮的灯的结点序列,最后

2016-08-16 10:49:04 513

原创 SDUTACM n a^o7 !

题目描述 All brave and intelligent fighters, next you will step into a distinctive battleground which is full of sweet and happiness. If you want to win the battle, you must do warm-up according to

2016-08-16 10:02:19 521

原创 SDUTACM 图结构练习——BFS——从起始点到目标点的最短步数

题目描述 在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫。在他们所在的地域,有n个隘口,编号为1..n,某些隘口之间是有通道连接的。其中近卫军团在1号隘口,天灾军团在n号隘口。某一天,天灾军团的领袖巫妖王决定派兵攻打近卫军团,天灾军团的部队如此庞大,甚至可以填江过河。但是巫妖王不想付出不必要的代价,他想知道在不修建任何通道的前提下,部队是否可以通过隘口及其相关通道到达近卫军团展开攻

2016-08-16 09:44:40 395

原创 SDUTACM 图结构练习——BFSDFS——判断可达性

题目描述 在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫。在他们所在的地域,有n个隘口,编号为1..n,某些隘口之间是有通道连接的。其中近卫军团在1号隘口,天灾军团在n号隘口。某一天,天灾军团的领袖巫妖王决定派兵攻打近卫军团,天灾军团的部队如此庞大,甚至可以填江过河。但是巫妖王不想付出不必要的代价,他想知道在不修建任何通道的前提下,部队是否可以通过隘口及其相关通道到达近卫军团展开攻

2016-08-16 08:52:41 528

原创 SDUTACM 图结构练习——最短路径

题目描述 给定一个带权无向图,求节点1到节点n的最短路径。 输入 输入包含多组数据,格式如下。第一行包括两个整数n m,代表节点个数和边的个数。(n剩下m行每行3个正整数a b c,代表节点a和节点b之间有一条边,权值为c。 输出 每组输出占一行,仅输出从1到n的最短路径权值。(保证最短路径存在) 示例输入3 21 2 1

2016-08-15 20:13:24 395

原创 SDUTACM 图的深度遍历

题目描述请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。输入输入第一行为整数n(0 输出输出有n行,对应n组输出,每行为用空格隔开的k个整数,对应一组数据,表示DFS的遍历结果。示例输入14 40 10 20 32 3示例输出0 1 2 3提示 #include#incl

2016-08-15 19:14:48 463

原创 SDUTACM 数据结构实验之图论二:基于邻接表的广度优先搜索遍历

题目描述给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列。(同一个结点的同层邻接点,节点编号小的优先遍历)输入输入第一行为整数n(0对于每组数据,第一行是三个整数k,m,t(0<k<100,0<m<(k-1)*k/2,0< t<k),表示有m条边,k个顶点,t为遍历的起始顶点。 下面的m行,每行是空格隔开的两个整数

2016-08-15 16:48:22 435

原创 SDUTACM 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历

题目描述给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列。(同一个结点的同层邻接点,节点编号小的优先遍历)输入输入第一行为整数n(0对于每组数据,第一行是三个整数k,m,t(0<k<100,0<m<(k-1)*k/2,0< t<k),表示有m条边,k个顶点,t为遍历的起始顶点。下面的m行,每行是空格隔开的两个整数u,v,表示一

2016-08-15 15:15:45 591

原创 SDUTACM 数据结构实验之排序一:一趟快排

题目描述给定N个长整型范围内的整数,要求输出以给定数据中第一个数为枢轴进行一趟快速排序之后的结果。 输入连续输入多组数据,每组输入数据第一行给出正整数N(N 输出输出一趟快速排序后的结果,数字间以一个空格间隔,行末不得有多余空格。示例输入849 38 65 97 76 13 27 49示例输出27 38 13 49 76 97

2016-08-13 20:31:14 482

原创 SDUTACM 数据结构实验之排序三:bucket sort

#includevoid main(){ int a[5000000],b[105]={0},n,i,j,s=0,t; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<n;i++) { if(a[i]>100) a[i]=100; b[a[i]]++; } for(i=0;i<=100;

2016-08-13 16:48:36 277

转载 C++常用资源大全

标准库C++标准库,包括了STL容器,算法和函数等。C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。Standard Template Library:标准模板库C POSIX library : POSIX系统的C标准库规范ISO C++ Standards Committee :C++

2016-08-12 16:03:36 975

原创 SDUTACM 数据结构实验之查找二:平衡二叉树

题目描述根据给定的输入序列建立一棵平衡二叉树,求出建立的平衡二叉树的树根。输入输入一组测试数据。数据的第1行给出一个正整数N(n 输出输出平衡二叉树的树根。示例输入588 70 61 96 120示例输出70提示 #include#includestruct node{    int data

2016-08-12 11:07:08 425

原创 SDUTACM 树-堆结构练习——合并果子之哈夫曼树

题目描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所消耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力

2016-08-11 21:21:37 339

原创 SDUTACM 数据结构实验之二叉树六:哈夫曼编码

题目描述字符的编码方式有多种,除了大家熟悉的ASCII编码,哈夫曼编码(Huffman Coding)也是一种编码方式,它是可变字长编码。该方法完全依据字符出现概率来构造出平均长度最短的编码,称之为最优编码。哈夫曼编码常被用于数据文件压缩中,其压缩率通常在20%~90%之间。你的任务是对从键盘输入的一个字符串求出它的ASCII编码长度和哈夫曼编码长度的比值。输入 输入数据有多组

2016-08-11 16:37:12 513

原创 SDUTACM 树结构练习——判断给定森林中有多少棵树

题目描述 众人皆知,在编程领域中,C++是一门非常重要的语言,不仅仅因为其强大的功能,还因为它是很多其他面向对象语言的祖先和典范。不过这世上几乎没什么东西是完美的,C++也不例外,多继承结构在带来强大功能的同时也给软件设计和维护带来了很多困难。为此,在java语言中,只允许单继承结构,并采用接口来模拟多继承。KK最近获得了一份java编写的迷你游戏的源代码,他对这份代码非常感兴趣。这份ja

2016-08-11 09:28:16 414

原创 SDUTACM 数据结构实验之查找三:树的种类统计

题目描述随着卫星成像技术的应用,自然资源研究机构可以识别每一个棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。输入输入一组测试数据。数据的第1行给出一个正整数N (n 输出按字典序输出各种树的种类名称和它占的百分比,中间以空格间隔,小数点后保留两位小数。示例输入2This is an Appletreet

2016-08-11 08:46:03 380

原创 SDUTACM 二叉树的层序遍历

层序遍历子函数:void cengxu(struct hh *root){ int out=0,in=0;struct hh *q[100];q[in++]=root;while(in>out){    if(q[out]!=NULL) {        printf("%c",q[out]->data);        q[in++]=q[out]->

2016-08-11 08:24:38 370

原创 SDUTACM 数据结构实验之查找一:二叉排序树

题目描述对应给定的一个序列可以唯一确定一棵二叉排序树。然而,一棵给定的二叉排序树却可以由多种不同的序列得到。例如分别按照序列{3,1,4}和{3,4,1}插入初始为空的二叉排序树,都得到一样的结果。你的任务书对于输入的各种序列,判断它们是否能生成一样的二叉排序树。输入输入包含若干组测试数据。每组数据的第1行给出两个正整数N (n 简单起见,我们保证每个插入序列都是1到N

2016-08-11 08:22:00 386

原创 SDUTACM 二叉排序树

题目描述二叉排序树的定义是:或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 今天我们要判断两序列是否为同一二叉排序树输入开始一个数n,(1接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数

2016-08-11 08:19:21 237

原创 SDUT数据结构实验之二叉树一:树的同构

题目描述给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。图1 图2现给定两棵树,请你判断它们是否是同构的。输入 输入数据包含多组,每组数据给出2棵二叉树的信息。对于

2016-08-09 17:17:37 332

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除