一、图的存储结构1.1 邻接矩阵 图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息。 设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为: 看一个实例,下图左就是一个无向图。 从上面可以看出,无向图的边数组是一个对称矩...
分类:
其他好文 时间:
2014-08-29 17:34:58
阅读次数:
258
BFSusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace LH.GraphConsole{ class Program { private s...
分类:
其他好文 时间:
2014-08-09 18:20:28
阅读次数:
215
DFSusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace LH.GraphConsole{ class Program { private s...
分类:
其他好文 时间:
2014-08-09 18:17:38
阅读次数:
232
十字链表 简单的说就是邻接表和逆邻接表的合体,解决了原邻接表或者逆邻接表出度和入度的计算无法兼得的问题。using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace LH.Gra...
分类:
其他好文 时间:
2014-08-09 15:44:48
阅读次数:
200
邻接表using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace LH.GraphConsole{ public struct AdjacencyListGraph ...
分类:
其他好文 时间:
2014-08-09 13:18:07
阅读次数:
199
邻接矩阵 网上很少有C# 写图的数据结构的例子,实际的项目中也从来没用过Array 这坨东西,随手写个,勿喷。namespace LH.GraphConsole{ public struct Graph { public Graph(int vertexNumber, in...
分类:
其他好文 时间:
2014-08-07 00:28:47
阅读次数:
234
Part 1预计使用7天的时间来过掉图相关的数据结构。第一天主要是一天图的基本概念,熟练掌握定义是一切交流和沟通的基础。1定义1.1图有穷非空顶点,外加边。G(V,E) Graph Vertex Edge顶点就是 点,有穷非空。顶点之间的关系就是边,边可空。1.2 分类无向边:无方向的边。有向边:有...
分类:
其他好文 时间:
2014-08-06 22:52:42
阅读次数:
244
1、相关术语顶点(Vertex)、弧(Arc)、弧头(初始点)、弧尾(终结点)、边(Edge)、有向图(Directed graph)、无向图(Undigraph)、全然图(Completed grapg)、有向全然图、稀疏图(Sparse graph)、稠密图(Dense graph)、权(wei...
分类:
其他好文 时间:
2014-07-06 18:51:14
阅读次数:
321
无向边:若顶点Vi 到Vj 的边没有方向,则称这条边为无向边,用无序偶对来表示...
分类:
其他好文 时间:
2014-06-20 10:18:38
阅读次数:
329
最小生成树: 一个连通图的生成树是一个极小连通子图,它含有图中全部顶点,但只有足以构成一棵树的n-1条边。这种构造连通网的最小代价生成树称为最小生成树,详见数据结构之图(术语、存储结构、遍历)。
求连通网的最小生成树有两种经典方法:普里姆(Prime)算法和克鲁斯卡尔(Kruskal)算法。
1、Prime算法
(1)算法描述:假设N=(V,{E})是连通网,TE是N上最小生成树中边的集合。从V中任选一个顶点u0,算法从U={u0}(u0∈V),TE={}开始,重复执行以下步骤:
在所有u∈U、v∈V-U...
分类:
其他好文 时间:
2014-06-10 15:38:52
阅读次数:
211