
图
crabstew
这个作者很懒,什么都没留下…
展开
-
[图算法之强连通分量,两种算法]--[POJ 2186 Popular Cows]
图算法之强连通分量前言Kosaraju算法前言本节介绍求图中有向图强连通分量,以及各个顶点分属于哪个强连通分量的方法。主要有两种算法:Kosaraju, TarjanKosaraju算法参考书籍:算法概论、算法竞赛入门经典训练指南思想:深度优先搜索(DFS)、强连通分量、有向无环图(DAG)、源点(入读为0的点)、汇点(出度为0的点)、反转图(原图中所有方向取反的图)假设:V1...原创 2019-04-07 18:29:33 · 207 阅读 · 0 评论 -
[图算法之单源带负边的最短路径]Bellman-ford算法与spfa算法
图算法之单源带负边的最短路径前言Bellman-ford算法spfa算法例题前言不带负边的单源最短路径算法可以用Dikstra算法,但是带负边的最短路径算法需要使用Bellman-ford算法,以及其优化的 spfa算法Bellman-ford算法假设一条点s到点t的最短路径为s−>u1−>u2−>u3−>...−>u...原创 2019-04-10 00:58:07 · 399 阅读 · 0 评论 -
[leetcode]图算法之判断有向图有无环802. Find Eventual Safe States
图算法之判断有向图有无环802. Find Eventual Safe States题目题解代码题目leetcode题目入口题解判断有向图有无环:不断删去出度为0的结点以及与之相连的边,如果到最后还有点没有删去则证明有环这个方法可以拓展到无向图这里注意可以使用一个队列,来保存被删去的节点不断加入出度为0的节点,在反转图中找到与其相连的节点之后再从原图中删去。直到队列为空退出循...原创 2019-04-27 10:49:11 · 835 阅读 · 0 评论 -
[leetcode]图算法之二分图染色法/BFS的运用785. Is Graph Bipartite?
图算法之二分图染色法/BFS的运用题目解析答案题目leetcode入口解析二分图,其实就是把点分成两个集合使用BFS,相邻曾的节点属于不同的集合,如果在BFS的过程中遇到了之前访问过的节点,就说明不能分成两个集合答案//BFSclass Solution {public: bool isBipartite(vector<vector<int>>&a...原创 2019-04-27 10:50:21 · 658 阅读 · 0 评论 -
[leetcode]图/树算法之并查集Redundant Connection(环/回路的判定)
图/树算法之并查集题目解析答案知识点题目leetcode入口解析这一道题运用了并查集,并查集知识,参考博客入口在并查集的数组里,如果有相同的祖先,说明在同一颗树中,因此如果一条边的两个点,有共同的祖先,说明他们在一颗树里。此时再在两个点间连一条线,那么就会使得树中出现环。答案class Solution{public: vector<int> findRe...原创 2019-05-11 13:29:53 · 264 阅读 · 0 评论 -
[leetcode]图算法之拓扑排序/有向图判环Course Schedule
图算法之拓扑排序/有向图判环Course Schedule题目思考代码题目leetcode题目入口思考这道题考查了 拓扑排序+有向图判环的问题。关键是:判断入度为0的点,并逐个删去代码class Solution {public: vector<int> findOrder(int numCourses, vector<vector<int>&...原创 2019-05-11 17:10:27 · 444 阅读 · 0 评论 -
无向图判环
无向图判环解法一:无向图无环的的充要条件:点数+连通块的数量=边数解法二:拓扑排序,不断删去入度为0的节点,最后还有没有点原创 2019-07-02 23:07:00 · 1094 阅读 · 0 评论 -
[leetcode]Regions Cut By Slashes-DFS
Regions Cut By Slashes题目思考代码(dfs)题目leetcode入口思考这道题的难点在于把问题抽象为求解连通分量个数的题,并且要知道如何建图将一个正方形方格分成四个三角形部分记为0,1,2,3,分别对应左边,下边,右边,上边的三角形。不论是什么输入(暂不考虑边界情况)该正方形的1都能与下面的正方形的3连接该正方形的2都能与右边的正方形的0连接分情况输入" ...原创 2019-07-03 14:31:31 · 200 阅读 · 0 评论