首先把图分为4点来定义
1.什么是图
图的定义图就是由两个集合组成的含有定点集合以及边集合
分为有向图无向图
2.图的存储
邻接矩阵:
行:表示尾(通过遍历非0元素个数可以知道入度)
列:标示头(通过遍历非0元素个数可以知道出度)...
分类:
其他好文 时间:
2015-07-21 14:54:19
阅读次数:
104
裸的最短路,试一下刚看的spfa,虽然没有看代码,不过明白了大致的思想,先写一下试试吧,而且是个稀疏图,应该会很快吧。SPFA算法采用图的存储结构是邻接表,方法是动态优化逼近法。算法中设立了一个先进先出的队列Queue用来保存待优化的顶点,优化时从此队列里顺序取出一个点w,并且用w点的当前路径D[W...
分类:
其他好文 时间:
2015-07-16 18:35:21
阅读次数:
139
简要地介绍了图的两种存储结构,邻接矩阵和邻接表,以及他们用C语言的实现代码。
分类:
其他好文 时间:
2015-07-03 21:55:10
阅读次数:
220
图的定义图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成。注意:在图结构中,不允许没有顶点,在定义中,如果V是顶点的集合,则强调了顶点集合V的有穷非空。在图中,若不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。图的存储结构邻接矩阵考虑到图是由顶点和边或者弧两部分组成的...
分类:
其他好文 时间:
2015-06-23 21:20:18
阅读次数:
249
邻接表是图的一种链式存储结构。在邻接表中,对图中的每个定点建立一个单链表,第i...
分类:
其他好文 时间:
2015-06-11 13:05:19
阅读次数:
120
一、图的存储结构1.1 邻接矩阵 图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息。 设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为: 看一个实例,下图左就是一个无向图。 从上面可以看出,无向图的边数组是一个对称矩...
分类:
其他好文 时间:
2015-06-09 13:24:32
阅读次数:
184
#include
#include
#include
#include
#define INFINTY INT_MAX //最大值
#define MaxVertexNum 100 //最大顶点数
using namespace std;
typedef enum{DG,UDG,DN,UDN} GraphKind; //图的种类(有向图,无向图,又向网,无向网) ...
分类:
其他好文 时间:
2015-06-04 15:54:10
阅读次数:
150
近两个星期,回顾数据结构时又把图的相关知识复习了一下,顺便为了提高编码能力,将基本算法也都实现了一下。现将实例附录如下:1)要实现的算法①建立图的存储结构②深度优先搜索和广度优先搜索③求图的最小生成树④拓扑排序⑤最短路径2)存储结构设计 本系统采用图结构(mgraph)存储抽象操作的信息。其中...
分类:
编程语言 时间:
2015-05-10 22:08:40
阅读次数:
181
普林斯顿的算法课是Cousera上评价挺高的一门课,课程的教学语言用的是java,课程中的算法都会被封装成类的形式,对于建立各个算法的知识结构来说还是很有好处的。第一周的内容是Undirected Graph, 图的存储形式分为adjacency matrix(邻接矩阵)和 adjacency li...
分类:
编程语言 时间:
2015-05-02 06:12:08
阅读次数:
311