![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
jiangxt211
这个作者很懒,什么都没留下…
展开
-
图(五):最短路径
定义:在一幅加权有向图中,从顶点s到顶点t的最短路径是所有从s到t的路径中权重最小者。(单源最短路径、单终点最短路径、单对顶点最短路径、每对顶点最短路径)引理:最短路径的子路径是最短路径。当且仅当加权有向图中至少存在一条从s到v的有向图路径且所有从s到v的有向路径上的任意顶点都不存在于任何负权重环中时,s到v的最短路径才是存在的。松弛(relaxation)操作Bellman-Ford...原创 2020-03-06 21:51:46 · 473 阅读 · 0 评论 -
图(四):最小生成树
最小生成树即权值最小的生成树。(无环,连接所有顶点的图,一定是树,即生成树(spanning tree))GENERIC-MST在算法的每一步中,确定一条边(u, v),使得将它加入集合A后,A&{(u,v)}仍然是某一最小生成树的子集。称这样的边为A的安全边(safe edge)。算法的关键是如何寻找安全边。理解:cut、light edge、crosses、resp...原创 2020-03-05 11:48:19 · 692 阅读 · 0 评论 -
图(二):图的表示
图的表示(1)邻接矩阵(adjacency matrix)(2)邻接表(adjacency lists)图G=(V, E)的邻接表表示由一个包含|V|个链表的数组Adj所组成,其中每个链表对应于V中的一个顶点。对于每一个u属于V,邻接表Adj[u]包含所有满足条件(u, v)属于E的顶点v。(3)邻接集(adjacency sets)(4)边数组(array of edges):所有边构...原创 2020-03-03 12:25:43 · 312 阅读 · 0 评论 -
图(三):图的遍历(BFS&DFS)
1、广度优先搜索(Breadth-first search)BFS是最简单的图搜索算法之一,也是很多重要的图算法的原型。在Prim最小生成树算法和Dijkstra单源最短路径算法中,都采用了与BFS类似的思想。BSF始终是将已发现和未发现顶点之间的边界,沿着其广度方向向外扩展。即算法首先会发现和s距离为k的所有顶点,然后才会发现和s距离为k+1的其他顶点。(层序遍历)广度优先搜索构造了一棵广...原创 2020-03-03 14:43:22 · 308 阅读 · 0 评论 -
图(一):基本概念
图是一组顶点和连接这些顶点的边的集合。在图中,路径是由边顺序连接的一系列顶点。简单路径是一条没有重复顶点的路径。环是一条至少含有一条边且起点和终点相同的路径。简单环是一条(除了起点和终点必须相同之外)不含有重复顶点和边的环。路径或者环的长度为其中所包含的边数。如果从任意一个顶点都存在一条路径到达另一个任意顶点,我们称这幅图是连通图。一副非连通的图由若干连通的部分组成,它们都是其极大连通子图。树...原创 2020-02-28 16:14:43 · 422 阅读 · 0 评论 -
Union-Find算法(Java)
union-find算法用于处理动态连通分量问题。(1)处理连通分量的问题1)找到元素所属的连通分量;2)判断两元素是否属于同一连通分量;3)合并两元素(连通分量)。(2)API(3)实现使用id[]数组来放置元素所属连通分量的标志(id),通过三种不同的实现来展示对算法改进的过程。1)quick-find2)quick-unionid[]数组用父链接的形式表示一片树林。...原创 2020-01-01 23:58:51 · 497 阅读 · 0 评论