
数据结构
文章平均质量分 74
在风雨中奔跑
这个作者很懒,什么都没留下…
展开
-
线性表(一)
1.以下哪种结构是逻辑结构,而与存储和运算无关: 图 循环链表 顺序表 双向链表 这题选“图”~没啥说的…… 2.已知两个元素依值递增有序排列的线性表A和B,且同一表中的元素值各不相同。构造一个线性表C,其元素为A和B中元素的交集,且表C中的元素也依值递增有序排列。已知A和B的最大长度都是n。求你设计的高效算法的时间复杂度: On∗n Ologn On On转载 2013-10-07 10:07:07 · 1711 阅读 · 0 评论 -
拓扑排序
拓扑排序 描述: 学校领导在大学生培养计划的制订中,涉及到课程的安排问题,由于课程较多,现在要求编程高手的你帮忙。假定课程之间的先修关系已确定,现在要求你根据先修关系,通过编程确定各门课程的先后关系,并生成一张课程先后安排顺序表,以帮助学校设置各年度课程。 输入: 输入只包括一个测试用例,第一行为一个自然数n,表示课程数量,第二行为n个单词,分别表示n门课程,一个单词表示一门课程,单词全为原创 2013-12-21 22:04:00 · 906 阅读 · 0 评论 -
图的广度优先搜索
图的广度优先搜索 描述: 图的广度优先搜索类似于树的按层次遍历,即从某个结点开始,先访问该结点,然后访问该结点的所有邻接点,再依次访问各邻接点的邻接点。如此进行下去,直到所有的结点都访问为止。在该题中,假定所有的结点以“A”--“Z”中的若干字符表示,且要求结点的访问顺序要求根据由“A”至“Z”的字典顺序进行访问。例如有如下图: 如果要求从H开始进行广度优先搜索,则搜索结果为:H->A-原创 2014-01-06 22:49:06 · 819 阅读 · 0 评论 -
KMP HDU1358
Period Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2525 Accepted Submission(s): 1246 Problem Description For each prefix of a gi转载 2014-04-04 21:29:25 · 608 阅读 · 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 · 497 阅读 · 0 评论 -
题目1 : 传话游戏
题目1 : 传话游戏 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 Alice和Bob还有其他几位好朋友在一起玩传话游戏。这个游戏是这样进行的:首先,所有游戏者按顺序站成一排,Alice站第一位,Bob站最后一位。然后,Alice想一句话悄悄告诉第二位游戏者,第二位游戏者又悄悄地告诉第三位,第三位又告诉第四位……以此类原创 2014-04-07 21:13:43 · 4976 阅读 · 0 评论 -
哈夫曼编码树的经典题目
链接poj3253原创 2014-08-01 10:26:44 · 12770 阅读 · 0 评论 -
最小生成树
最小生成树 问题描述 求一个连通无向图的最小生成树的代价(图边权值为正整数)。 输入 第一行是一个整数N(10,表示i顶点和j顶点的连接权值。 输出 每个用例,用一行输出对应图的最小生成树的代价。 样例输入 1 6 0 6 1 5 0 0 6 0 5 0 3 0 1 5 0 5 6 4 5 0 5 0 0 2 0 3 6 0 0 6 0 0 4 2 6 0原创 2015-01-02 11:45:11 · 2289 阅读 · 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 / 3 return [1,2,3]. Note: Recursive soluti原创 2015-06-30 21:32:51 · 327 阅读 · 0 评论 -
floyd算法(最短路径)
最短路径 描述: 已知一个城市的交通路线,经常要求从某一点出发到各地方的最短路径。例如有如下交通图: 则从A出发到各点的最短路径分别为: B:0 C:10 D:50 E:30 F:60 输入: 输入只有一个用例,第一行包括若干个字符,分别表示各顶点的名称,接下来是一个非负的整数方阵,方阵维数等于顶点数,其中0表示没有路,正整数表示两点之间边的长度。可以假定该图为有向图。原创 2013-12-20 16:09:00 · 684 阅读 · 0 评论 -
最短路径(Dijkstra算法)
最短路径 描述: 已知一个城市的交通路线,经常要求从某一点出发到各地方的最短路径。例如有如下交通图: 则从A出发到各点的最短路径分别为: B:0 C:10 D:50 E:30 F:60 输入: 输入只有一个用例,第一行包括若干个字符,分别表示各顶点的名称,接下来是一个非负的整数方阵,方阵维数等于顶点数,其中0表示没有路,正整数表示两点之间边的长度。可以假定该图为有向图。原创 2013-12-19 21:47:16 · 997 阅读 · 0 评论 -
prim算法
借用一张图片说明: code: #include using namespace std; #define MAX 1000 int map[MAX][MAX]; // 邻接矩阵 int dis[MAX]; // 用来保存每一个到c的距离 int visit[MAX]; // 是否访问 #define inf 110000 int n; void prime(原创 2013-12-19 18:55:16 · 750 阅读 · 0 评论 -
顺序线性表(一)
#include using namespace std; #define INIT_SIZE 10 #define ADD_SIZE 3 typedef double ElemType; typedef struct { ElemType *data; //顺序线性表的首地址 int length; //存放元素个数 int size; /原创 2013-09-23 21:54:56 · 534 阅读 · 0 评论 -
表达式求值
看了大神的代码后 我们先看个例子: 1.比较运算符号的优先级 *||/>+||- , * > -,先算 7*2; 将结果保存在 7的位置; 2.最后进行减号。 题目: 描述 计算表达式的值。 输入 输入文件第一行为测试用例的个数N(1 输出 对每一个表达式,用一行输出其值。 样例输入 4 2+5 4+2*3-10/5 3*原创 2013-11-18 22:54:12 · 1191 阅读 · 0 评论 -
二叉排序树的创建与使用
描述 二叉排序树的定义是:或者是一棵空树,或者是具有下列性质的二叉树:(1)若它的左子树不空,则左子树上所有的结点值均小于它的根结点的值;(2)若它的右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;(3)它的左右子树也分别为二叉排序树。现要求根据输入的元素值,构造一棵二叉排序树,并输出其先序遍历、中序遍历和后序遍历结果。 输入 输入第一行为测试用例个数n,接下来为n原创 2013-12-14 21:15:54 · 848 阅读 · 0 评论 -
(并查集入门)How Many Tables
How Many Tables Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 10239 Accepted Submission(s): 5067 Problem Description Today is原创 2013-12-15 18:17:36 · 646 阅读 · 0 评论 -
(并查集入门)畅通工程
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 24842 Accepted Submission(s): 12922 Problem Description 某省调查城镇交通状况,得到现有城镇道路原创 2013-12-15 17:37:58 · 570 阅读 · 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 · 669 阅读 · 0 评论 -
(并查集入门)Ubiquitous Religions
Ubiquitous Religions Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 21371 Accepted: 10513 Description There are so many different religions in the world t原创 2013-12-15 20:44:58 · 680 阅读 · 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 · 638 阅读 · 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 · 436 阅读 · 0 评论