
图论
文章平均质量分 76
刻苦驴啊
中山大学在读本科生
展开
-
Tarjan算法求割边——leetcode1192
本文学习自 Tarjan算法:求解图的割点与桥(割边),以leetcode1192题为练习讲述割边的求法。一、割边的定义在无向图中,若去掉某条边会导致图中的连通分量增加,则这条边称为割边(或称为桥)。而连通分量,就是一个图的某个子图,该子图中的所有顶点互相连通(任意两个顶点之间都存在可以互相到达的路径),而这些顶点都与子图之外的其他顶点不连通。二、Tarjan算法原理...原创 2019-09-17 14:25:15 · 1948 阅读 · 0 评论 -
学习图论(四)——单源最短路问题
一年前写的最短路的博客写得太一般了,代码也很难看,刚好最近复习到相关知识,所以重新整理一下下面涉及题目的代码都在力扣上通过。一、DFSDFS可以用来求给定两点之间的最短路。即走遍两点间的所有路径,选择路程最小的那一个我们可以从U出发,记录已经走过的路程。采用邻接矩阵的方式来表示图:graph[u][v]=w表示u到v之间有一条权重为w的边,若u和v之间无边,则令gr...原创 2019-11-15 20:09:20 · 675 阅读 · 0 评论 -
学习图论(二)——拓扑排序
拓扑排序参考博客:https://blog.youkuaiyun.com/jasmine_shine/article/details/43488895;什么是拓扑排序? 在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。 该序列必须满足下面两个条件: 1.每个顶点出现且只出现一次。 2.若...原创 2018-04-13 21:27:57 · 463 阅读 · 0 评论 -
学习图论(一)——DFS与BFS
一、图的基本要素 1.顶点/节点(vertex); 2.边(edge),连接两个点,可以为无向边也可以为有向边,可以为有权边也可以为无权边; 3.连通图:图上的任意两个点之间都是连通的。 即是任意两个点都有一条或者多条边连接着。 4.连通分量:最大连通子图。即是①是该图的子图;②该子图是连通的;③是含节点数最多的子图。二、两种基本遍历算法 学习、参考的代码:https://blog....原创 2018-04-13 20:17:35 · 611 阅读 · 0 评论 -
学习图论(三)——欧拉通路
欧拉通路(Euler)一、概念 1.欧拉通路:通过图(有向图或者无向图)中的所有边,且每条边只通过一次的通路。 2.欧拉回路:当欧拉通路为回路时,称为欧拉回路。 3.欧拉图:具有欧拉通路的图。 4.半欧拉图:具有欧拉通路但没有欧拉回路的图。二、判断方法断欧拉路径是否存在的方法 1.有向图 : 图连通,当且仅当该图所有顶点数的度数为0(入度和出度相同),或者一个顶点的度数为1(...原创 2018-04-14 00:08:23 · 5709 阅读 · 1 评论 -
学习图论(四)——最短路问题(留念)
学习时参考的博客:https://blog.youkuaiyun.com/qibofang/article/details/51594673一、DFS或BFS搜索(单源最短路径) 思想:遍历所有从起点到终点的路径,选取一条权值最短的路径。 下面代码是参考博客中的代码,加上本人一些注释void DFS(int u,int dist) //u 为当前节点; dist 为当前点到起点的距离 { ...原创 2018-04-14 20:26:53 · 516 阅读 · 0 评论