图 一、图的基本概念 1、具有 n 个结点的连通图至少有( n-1 )条边。 2、连通分量指的是无向图中的极大连通子图 二、图存储结构的基本操作 1、已知由 7 个顶点组成的无向图的邻接矩阵为: 则从顶点 A 出发进行深度优先遍历可以得到的序列是:(AECDBGF ) ...
分类:
其他好文 时间:
2017-09-04 17:46:04
阅读次数:
135
(绘图什么真辛苦) 强连通分量: 在有向图 G 中。若两个顶点相互可达,则称两个顶点强连通(strongly connected)。假设有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图。称为强连通分量(strongly connected components)。比 ...
分类:
编程语言 时间:
2017-08-19 14:14:17
阅读次数:
271
并查集(Union-find Sets)是一种很静止而有用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求近期公共祖先(Least Common Ancestors, LCA)等。 使用并查集时,首先会存在一组不相交的动态集合 ...
分类:
其他好文 时间:
2017-08-11 21:12:40
阅读次数:
219
最小生成树概念: 一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。 最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出。最小生成树其实是最小权重生成树的简称。 prim: 概念:普里姆算法(Prim算法), ...
分类:
其他好文 时间:
2017-07-23 09:57:30
阅读次数:
159
概念: 并查集是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的Kruskal 算法和求最近公共祖先等。 操作: 并查集的基本操作有两个: Merge(x, y):把元素x 和元素y 所在的集合合并,要求x 和y 所在的集合不相交,如果 ...
分类:
其他好文 时间:
2017-07-22 16:47:00
阅读次数:
183
在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。 Tarjan算法是基于对图深 ...
分类:
编程语言 时间:
2017-07-21 20:48:01
阅读次数:
283
【原创】tarjan算法初步(强连通子图缩点) tarjan算法的思路不是一般的绕!!(不过既然是求强连通子图这样的回路也就可以稍微原谅了。。) 但是研究tarjan之前总得知道强连通分量是什么吧。。 上百度查查: 有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到 ...
分类:
编程语言 时间:
2017-07-21 20:43:24
阅读次数:
177
强连通:在有向图G中,两个顶点间至少存在一条路径,则两个点强连通。 强连通图:在有向图中,每两个顶点都强连通,则有向图G就是一个强连通图。 强连通分量:在非强连通图中的极大强连通子图,就称为强连通分量。 直接根据定义,可以通过双向遍历取交集的方法求强连通分量,但是其复杂度为O(N^2+M)。更好的方 ...
分类:
其他好文 时间:
2017-07-16 11:22:58
阅读次数:
185
定义:有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通分量。 求强连通分量: 例题1【UVA-11324 ...
分类:
其他好文 时间:
2017-07-03 23:53:54
阅读次数:
281
文章转载自:最小生成树-Prim算法和Kruskal算法 图的生成树是它的一棵含有所有顶点的无环连通子图,一棵加权图的最小生成树是它的一棵权值最小的生成树。 Prim算法 算法简单描述 1).输入:一个加权连通图,其中顶点集合为V,边集合为E; 2).初始化:Vnew = {x},其中x为集合V中的 ...
分类:
其他好文 时间:
2017-06-10 12:42:47
阅读次数:
235