数据结构
文章平均质量分 74
在风雨中奔跑
这个作者很懒,什么都没留下…
展开
-
线性表(一)
1.以下哪种结构是逻辑结构,而与存储和运算无关:图循环链表顺序表双向链表这题选“图”~没啥说的……2.已知两个元素依值递增有序排列的线性表A和B,且同一表中的元素值各不相同。构造一个线性表C,其元素为A和B中元素的交集,且表C中的元素也依值递增有序排列。已知A和B的最大长度都是n。求你设计的高效算法的时间复杂度:On∗nOlognOnOn转载 2013-10-07 10:07:07 · 1656 阅读 · 0 评论 -
拓扑排序
拓扑排序描述:学校领导在大学生培养计划的制订中,涉及到课程的安排问题,由于课程较多,现在要求编程高手的你帮忙。假定课程之间的先修关系已确定,现在要求你根据先修关系,通过编程确定各门课程的先后关系,并生成一张课程先后安排顺序表,以帮助学校设置各年度课程。输入:输入只包括一个测试用例,第一行为一个自然数n,表示课程数量,第二行为n个单词,分别表示n门课程,一个单词表示一门课程,单词全为原创 2013-12-21 22:04:00 · 888 阅读 · 0 评论 -
图的广度优先搜索
图的广度优先搜索描述:图的广度优先搜索类似于树的按层次遍历,即从某个结点开始,先访问该结点,然后访问该结点的所有邻接点,再依次访问各邻接点的邻接点。如此进行下去,直到所有的结点都访问为止。在该题中,假定所有的结点以“A”--“Z”中的若干字符表示,且要求结点的访问顺序要求根据由“A”至“Z”的字典顺序进行访问。例如有如下图:如果要求从H开始进行广度优先搜索,则搜索结果为:H->A-原创 2014-01-06 22:49:06 · 794 阅读 · 0 评论 -
KMP HDU1358
PeriodTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2525 Accepted Submission(s): 1246Problem DescriptionFor each prefix of a gi转载 2014-04-04 21:29:25 · 596 阅读 · 0 评论 -
HDU1711 Number Sequence
Number Sequence Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)原创 2014-04-04 21:01:31 · 481 阅读 · 0 评论 -
题目1 : 传话游戏
题目1 : 传话游戏时间限制:2000ms单点时限:1000ms内存限制:256MB描述Alice和Bob还有其他几位好朋友在一起玩传话游戏。这个游戏是这样进行的:首先,所有游戏者按顺序站成一排,Alice站第一位,Bob站最后一位。然后,Alice想一句话悄悄告诉第二位游戏者,第二位游戏者又悄悄地告诉第三位,第三位又告诉第四位……以此类原创 2014-04-07 21:13:43 · 4903 阅读 · 0 评论 -
哈夫曼编码树的经典题目
链接poj3253原创 2014-08-01 10:26:44 · 12659 阅读 · 0 评论 -
最小生成树
最小生成树问题描述求一个连通无向图的最小生成树的代价(图边权值为正整数)。输入第一行是一个整数N(10,表示i顶点和j顶点的连接权值。输出每个用例,用一行输出对应图的最小生成树的代价。样例输入160 6 1 5 0 06 0 5 0 3 01 5 0 5 6 45 0 5 0 0 20 3 6 0 0 60 0 4 2 6 0原创 2015-01-02 11:45:11 · 2251 阅读 · 0 评论 -
Binary Tree Preorder Traversal
Given a binary tree, return the preorder traversal of its nodes' values.For example:Given binary tree {1,#,2,3}, 1 \ 2 / 3return [1,2,3].Note: Recursive soluti原创 2015-06-30 21:32:51 · 314 阅读 · 0 评论 -
floyd算法(最短路径)
最短路径描述:已知一个城市的交通路线,经常要求从某一点出发到各地方的最短路径。例如有如下交通图: 则从A出发到各点的最短路径分别为:B:0C:10D:50E:30F:60输入:输入只有一个用例,第一行包括若干个字符,分别表示各顶点的名称,接下来是一个非负的整数方阵,方阵维数等于顶点数,其中0表示没有路,正整数表示两点之间边的长度。可以假定该图为有向图。原创 2013-12-20 16:09:00 · 663 阅读 · 0 评论 -
最短路径(Dijkstra算法)
最短路径描述:已知一个城市的交通路线,经常要求从某一点出发到各地方的最短路径。例如有如下交通图:则从A出发到各点的最短路径分别为:B:0C:10D:50E:30F:60输入:输入只有一个用例,第一行包括若干个字符,分别表示各顶点的名称,接下来是一个非负的整数方阵,方阵维数等于顶点数,其中0表示没有路,正整数表示两点之间边的长度。可以假定该图为有向图。原创 2013-12-19 21:47:16 · 950 阅读 · 0 评论 -
prim算法
借用一张图片说明:code:#include using namespace std;#define MAX 1000int map[MAX][MAX]; // 邻接矩阵int dis[MAX]; // 用来保存每一个到c的距离int visit[MAX]; // 是否访问#define inf 110000int n;void prime(原创 2013-12-19 18:55:16 · 727 阅读 · 0 评论 -
顺序线性表(一)
#include using namespace std;#define INIT_SIZE 10#define ADD_SIZE 3typedef double ElemType;typedef struct{ ElemType *data; //顺序线性表的首地址 int length; //存放元素个数 int size; /原创 2013-09-23 21:54:56 · 518 阅读 · 0 评论 -
表达式求值
看了大神的代码后我们先看个例子:1.比较运算符号的优先级 *||/>+||- , * > -,先算 7*2; 将结果保存在 7的位置;2.最后进行减号。题目: 描述计算表达式的值。输入输入文件第一行为测试用例的个数N(1输出对每一个表达式,用一行输出其值。样例输入42+54+2*3-10/53*原创 2013-11-18 22:54:12 · 1087 阅读 · 0 评论 -
二叉排序树的创建与使用
描述二叉排序树的定义是:或者是一棵空树,或者是具有下列性质的二叉树:(1)若它的左子树不空,则左子树上所有的结点值均小于它的根结点的值;(2)若它的右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;(3)它的左右子树也分别为二叉排序树。现要求根据输入的元素值,构造一棵二叉排序树,并输出其先序遍历、中序遍历和后序遍历结果。输入输入第一行为测试用例个数n,接下来为n原创 2013-12-14 21:15:54 · 832 阅读 · 0 评论 -
(并查集入门)How Many Tables
How Many TablesTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10239 Accepted Submission(s): 5067Problem DescriptionToday is原创 2013-12-15 18:17:36 · 635 阅读 · 0 评论 -
(并查集入门)畅通工程
畅通工程Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 24842 Accepted Submission(s): 12922Problem Description某省调查城镇交通状况,得到现有城镇道路原创 2013-12-15 17:37:58 · 560 阅读 · 0 评论 -
(并查集入门)P1034家族
描述若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。格式输入格式第一行:三个整数n,m,p,(n以下m行:每行两个数Mi,Mj,1接下来p行:每行两原创 2013-12-15 16:18:52 · 656 阅读 · 0 评论 -
(并查集入门)Ubiquitous Religions
Ubiquitous ReligionsTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 21371 Accepted: 10513DescriptionThere are so many different religions in the world t原创 2013-12-15 20:44:58 · 667 阅读 · 0 评论 -
kruskal 算法
Kruskal 算法链表基本模板:#include using namespace std;typedef struct node{ int l; int r; int length; struct node *next;}Node,*LNode; // 定义结构体void Init(LNode &L) // 初始化结构体{ L=new Node; L-原创 2013-12-17 19:24:07 · 625 阅读 · 0 评论 -
Linked List Cycle
Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?题解:问题:判断链表是否有环。分析:利用快慢指针slow,fast slow指针每次走一步,fast指针每次走两步,倘若存在环,则slo原创 2015-06-30 21:10:56 · 424 阅读 · 0 评论