图(Graph)是由点(Point)和边(Edge)组成的集合,要存储图就要存储他的点和边。显然点很容易存储,所以我们只要存储边,就可以存储整张图,所以现在我们只关注边。 »边的分类(Edge classification) 1.按是否有权值分类,可以把边分为有权边和无权边。多数时候,无权边可以看成 ...
分类:
其他好文 时间:
2017-05-06 11:59:37
阅读次数:
259
五一假期外出学习总结 五一放假了,哎,高兴个大头鬼啊! 哪来的什么假期,走,外出培训! 当然,外出培训的虽是占用了我们的假期时间,但是我们还是十分激动的,因为在外学习的我们收获了很多。 第一天,上午讲了树基础和图的存储,都是非常基础的东西,所以就当是复习了一下,学起来也比较轻松,但是图的存储也有一些 ...
分类:
其他好文 时间:
2017-05-05 23:13:21
阅读次数:
193
图的存储方式 1.邻接矩阵 邻接矩阵的二维数组表示第i个点到第j个点的权值为dis[i][j]。 实现容易,但时空复杂度都比较大,时间复杂度为O(n*n),空间复杂度为O(n*n)。 适合稠密图。 下为代码: 1 #include<cstdio> 2 #define N 4200 3 int vis ...
分类:
其他好文 时间:
2017-05-04 20:06:28
阅读次数:
178
1.图的存储: (1)邻接矩阵: #include<iostream> #include<cstdio> #include<cstdlib> #define MAXN 0x7fffffff//没有路径(边的长度为极限); #define maxn 9999//数据边的最大值; #define MAX ...
分类:
编程语言 时间:
2017-04-17 20:37:57
阅读次数:
193
图具有的特点是:每个结点有零个或者多个前驱结点,并且有零个或者多个后驱结点。 图的存储方式分为邻接矩阵和邻接表。而邻接矩阵适合于稠密图中,邻接表适合于稀疏图形中。 同时图又分为:有向图,无向图。 结点与结点之间相连是为1,如果不想连则定义为零。 1:邻接矩阵 主要是邻接矩阵存储的设计方式:图的结点信 ...
分类:
其他好文 时间:
2017-04-06 15:25:30
阅读次数:
330
在此之前需要先学会基本数据结构,递归以及搜索、回溯 用了半个月的时间终于搞完了全部的基础图论。。。仅介绍到差分约束 图的定义自己百度= =这里直接开始说图的存储。 图的存储有N种写法,我所知道的有邻接矩阵、边表、邻接表、前向星、边集数组、十字链表、邻接多重表,这里只讨论较容易实现的3种也是最为普遍的 ...
分类:
其他好文 时间:
2017-03-29 13:58:18
阅读次数:
247
如果看完本篇博客任有不明白的地方,可以去看一下《大话数据结构》的7.4以及7.5,讲得比较易懂,不过是用C实现 下面内容来自segmentfault 存储结构 要存储一个图,我们知道图既有结点,又有边,对于有权图来说,每条边上还带有权值。常用的图的存储结构主要有以下二种: 邻接矩阵 邻接表 邻接矩阵 ...
分类:
编程语言 时间:
2017-03-19 15:38:20
阅读次数:
245
一、图的存储 用邻接表法存储图,存储结构分为两部分,一部分为存储图的所有顶点的数组,另一部分为挂载在数组的每个元素后面的用来表示顶点的邻接点的链表。 1、存储顶点的结构单元为: 链表的结构单元为: 2、现在声明Graph这个类,类的声明为(有关图的遍历的成员函数也以包含进来): 3、下面是Graph ...
分类:
编程语言 时间:
2017-03-06 20:36:39
阅读次数:
484
【原创】 今天我们来聊聊有向图中环的判断,在数据结构中我们知道,通过拓扑排序可以判断有向图中是否存在环,对于有向图的存储我们采用邻接表的形势,这里为了简化链表的操作,我们省略了链表,避免了指针的麻烦,直接采用了c++中的vector来模拟链表,操作更加的方便;具体详细的使用,建议百度一下,这里不多说 ...
分类:
编程语言 时间:
2017-03-06 14:32:05
阅读次数:
248
访问像素的三种方法 ①指针访问:最快 ②迭代器iterator:较慢,非常安全,指针访问可能出现越界问题 ③动态地址计算:更慢,通过at()实现。适用于访问具体某个第i行,j列的像素,而不适用遍历像素 Mat在内存中存储形式 灰度图的存储形式 RGB的存储形式 一般情况下,Mat是连续存储的,按行连 ...
分类:
其他好文 时间:
2017-02-11 16:53:17
阅读次数:
284