
数据结构学习
文章平均质量分 80
大多多
脚踏实地,仰望星空。
展开
-
哈夫曼编码(Huffman)
今天看数据结构,看到哈夫曼编码。感觉挺有意思的。哈夫曼树的应用应该很多吧,还刚学,以后多深入看看。#include #include #include #include #include //#include #include #define Max 100000000using namespace std;struct node{ int ww; int原创 2016-07-22 19:31:10 · 544 阅读 · 0 评论 -
poj-3723【图的最小生成树+并查集】
这个题目做的时候知道是最小生成树,用的kruskal算法,结果在并查集的地方出问题了。刚开始的same函数弄得不对,,,还好,这个题目算是又复习了一下并查集#include #include #include #include #include #include #include #include #include using namespace std;typedef原创 2016-10-04 19:39:33 · 279 阅读 · 0 评论 -
二叉树节点的删除
昨天在看书的时候,突然看到二叉查找树的删除,以前学过,不过学的不仔细,结果研究了一晚上,才把二叉树的删除操作给整出来。唉,以后看书要仔细啊。。。。。先说一下如何删除二叉树查找树的节点吧。总共有三种情况1.被删除的节点是叶子节点,这时候只要把这个节点删除,再把指向这个节点的父节点指针置为空就行2.被删除的节点有左子树,或者有右子树,而且只有其中一个,那么只要把当前删除节点的父节点指向原创 2016-09-25 11:18:09 · 12137 阅读 · 1 评论 -
数据结构之关键路径
今天看的关键路径,总结一下学的关键路径。一,什么是关键路径 把开始顶点到完成顶点的最长路径称为关键路径。二,如何求关键路径(首先先说明,作为一个有关键路径的图,图中的每条边带有权值,这些权值假设为活动持续的时间,顶点表示一个活动的开始或者结束这样一个事件)。1,作为一个关键路径,需要用到的第一个函数是拓补排序的函数,并且作为一个图如果它有关键路径,那么它不能出现回路,所原创 2016-09-14 16:55:15 · 4674 阅读 · 0 评论 -
数据结构之拓补排序
昨天开始学的拓补排序,自己总结了一下拓补排序算法的思路。1.首先构造一个能够存储图的数据类型,能把边之间的关系存起来。2.找到这些边的初始入度为0的顶点,将这些顶点存到一个数组当中,我看的这个书当中把这些点存入一个像栈一样的数组,初始化完成之后用这个数组中的顶点和跟他相关联的顶点的入度减去1.3接下来就是拓补排序非常重要的一步,用这些初始入度为0的顶点找到与之相关联的顶点,把这些顶点的原创 2016-09-13 17:43:58 · 963 阅读 · 0 评论 -
HDU-1285【拓补排序】
自己学到拓补排序找到这个题目,看着挺简单,其实有一些坑点,结果wrong了很多次,不过还好最终做了出来。#include #include #include using namespace std;int n,m;int graph[550][550];int value[550];int indegree[550];void tuobu(){ int Count=原创 2016-09-13 17:17:14 · 281 阅读 · 0 评论 -
HDU-3790【图的最短路径问题】
自学到图的最短路径,找到这个水题一试,奈何无限次worng,让我开始怀疑人生。。。。。找了一天的bug,终于找到,,,因为算的最后的数在比较过程中可能会超出int造成数据出错,。。。。真是醉了。。。。。把int全部改成longlong就ac了,现在代码写的还不是太简洁,以后补充。。。#include #include #include #define Max 0x7fffffffusi原创 2016-09-11 22:34:39 · 335 阅读 · 0 评论 -
poj-1258(Agri-Net)【图的最小生成树】
自学的数据结构,中午看到了图论的最小生成树,想着找个题巩固一下,找到了这个,结果一直错一直错,开始怀疑这本书的算法是不是有问题。。。,郁闷了一下午,晚上突然发现codevs上有这个题目,用了点办法截了一组错误数据,终于发现了错在哪,真是粗心呃。。。。。#include #include #define MAX 0x3f3f3f3fusing namespace std;struct n原创 2016-09-09 20:22:44 · 384 阅读 · 0 评论 -
集合的位向量表示
/*集合的位向量表示,1表示有,0表示无,这种表示可以很大的节省空间*/#include#include#include#include #include #define MAX 1000000000using namespace std;struct node{ int Size; char *s;};node * Creatnull(int n)//创建原创 2016-08-07 10:51:03 · 4099 阅读 · 1 评论 -
C++二叉树
自学数据结构不久,看着课本上的意思自己写的二叉树基本操作,还有很多不足,希望看到的大神给些意见。#include #include #include #include #include using namespace std;struct tree{ int x; tree * left; tree * right; tree * father原创 2016-07-09 10:35:53 · 401 阅读 · 0 评论 -
poj-3159【差分约束+Dijkstra算法的优化】
昨天看图论的时候找到了这么个题目,刚开始不知道查分约束是什么东西,后来在网上学了一下,知道就是求图的最短路径额。。。。。这东西需要好好看看了。再看这个题目,题意就是给出两点的最大差值,求出1到n的最大差值,刚开始用的一般的方法这个问题超时了,所以用的优先队列,最后ac了。。。(简简单单两行字,这里面全是泪额。。。。。)上代码。。。。。#include #include #inclu原创 2016-10-06 10:10:58 · 1230 阅读 · 1 评论