随笔分类 - 图论
关于图论的一些算法
摘要:二分图(1) 1.例题:染色法判断二分图 题目描述 给定一个 n 个点 m 条边的无向图,图中可能存在重边和自环。 请你判断这个图是否是二分图。 输入格式 第一行包含两个整数 和 。 接下来 m 行,每行包含两个整数 和 ,表示点 和点 之间存在一条边。
阅读全文
摘要:Dijkstra 算法(2) 1.例题 题目描述 给定一个 个点 条边的有向图,图中可能存在重边和自环,所有边权均为非负值。 请你求出 号点到 号点的最短距离,如果无法从 号点走到 号点,则输出 −1。 输入格式 第一行包含整数 和 。
阅读全文
摘要:Kruskal 算法 1.Kruskal 算法介绍 最小生成树: 给定一张边带权的无向图 ,其中 表示图中点的集合, 表示图中边的集合, , 。 由 中的全部 个顶点和 中 条边构成的无向连通子图被称为 $G
阅读全文
摘要:Prim 算法 1.Prim 算法介绍 最小生成树: 给定一张边带权的无向图 ,其中 表示图中点的集合, 表示图中边的集合, , 。 由 中的全部 个顶点和 中 条边构成的无向连通子图被称为 的一棵生
阅读全文
摘要:Floyd 算法 1.Floyd算法介绍 Floyd算法是最短路问题里的一种,用来求任意一对顶点之间的最短路径。时间复杂度为 ,适用于负边权的情况。 2.Floyd算法经典题目 给定一个 个点 条边的有向图,图中可能存在重边和自环,边权可能为负数。 再给定 个
阅读全文
摘要:Bellman Ford算法 1.最短路问题 在图论中,最短路问题分为单源最短路和多源最短路。 其中,单源最短路又分为存在负权边和不存在负权边两种。 Bellman Ford算法就是来解决存在负权边的最短路问题的。 2.Bellman Ford算法介绍 简称Ford(福特)算法,同样是用来计算从一个
阅读全文
摘要:Dijkstra算法 1.最短路问题 在图论中,最短路问题分为单源最短路和多源最短路。 其中,单源最短路又分为存在负权边和不存在负权边两种。 Dijkstra算法就是来解决不存在负权边的最短路问题的。 2.Dijkstra算法思想 如果图是不带负权的有向图或者无向图,从起点 每次新扩展一个
阅读全文