算法:深度优先算法和广度优先算法(基于邻接矩阵) 1.写在前面 图的存储结构有两种:一种是基于二维数组的邻接矩阵表示法。 另一种是基于链表的的邻接表。 在邻接矩阵中,可以如下表示顶点和边连接关系: 说明: 将顶点对应为下标,根据横纵坐标将矩阵中的某一位置值设为1,表示两个顶点向联接。 图示表示的是无 ...
分类:
编程语言 时间:
2017-01-05 08:55:26
阅读次数:
215
邻接矩阵是一种不错的图存储结构,但是我们发现,对于边数相对较少的图,这种结构是存在对存储空间的极大浪费的。我们知道,顺序存储结构存在预先分配内存可能造成空间浪费的问题,于是引出了链式存储的结构。同样的,我们也可以考虑对边或弧使用链式存储的方式来避免空间浪费的问题。因此,对于图的存储结构,我们同样引入 ...
分类:
其他好文 时间:
2017-01-01 22:54:19
阅读次数:
252
n(*≧▽≦*)n 1 /* 2 编写程序输出以邻接表为存储结构的无向图的各顶点的度。 3 */ 4 /**********************************/ 5 /*文件名称:lab8_01.c */ 6 /**********************************/ 7 ...
分类:
其他好文 时间:
2016-12-20 20:50:00
阅读次数:
586
广度优先搜索(BFS) 1、将头结点放入队列Q中 2、while Q!=空 u出队 遍历u的邻接表中的每个节点v 将v插入队列中 当使用无向图的邻接表时,复杂度为O(V^2) 当使用有向图的邻接表时,因为每条边只访问一次,不会重复访问,所以总复杂度为O(V+E) 深度优先搜索(DFS) for ea ...
分类:
其他好文 时间:
2016-12-10 18:24:12
阅读次数:
193
用邻接表存图 输入图之后输入源点start 用队列实现bfs 用栈实现dfs ...
分类:
其他好文 时间:
2016-11-30 20:00:05
阅读次数:
178
const int DefaultVertices = 30; template<class T,class E> struct Edge{ int dest; //边结点定义 Edge<T,E> *link; //下一条边链指针 Edge(){} Edge(int num,E weight):de ...
分类:
其他好文 时间:
2016-11-29 22:06:13
阅读次数:
296
1、定义 A graph consists of a set of vertices V and a set of edges E. Each edge is a pair (v, w), where v,w belong to V. 路径 A path in a graph is a sequen ...
分类:
其他好文 时间:
2016-11-28 23:00:12
阅读次数:
289