![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
Adellle
山不向我走来,我便向山走去
展开
-
周赛补补合集
错题题库原创 2023-01-11 03:12:10 · 85 阅读 · 0 评论 -
单源最短路且存在负权边的SPFA算法(Bellman-Ford算法的优化版)
SPFA算法时间复杂度:一般O(n),最坏O(m*n);SPFA算法即可以计算Dijkstra算法能解决的所有边都是正权问题,也可以解决存在负权边的问题。用宽搜处理SPFA算法,所以大致的入队情形与bfs差不多。具体做法: 1,起点入队; 2,遍历与队头相邻的点,更新最短距离。例题: spfa求最短路给定一个n个点mm条边的有向图,图中可能存在重边和自环,边权可能为负数。请你求出11号点到nn号点的最短距离,如果无法从11号点走到nn...原创 2022-07-21 11:30:50 · 383 阅读 · 0 评论 -
单源最短路且存在负权边的Bellman-Ford算法
单源最短路且存在负权边的Bellman-Ford算法,Dijkstra算法和Bellman-Ford算法都是求单源最短路的算法,但区别就是前者所有权边均为正数,后者可以存在负权边。由此可知思想上存在的区别。Dijkstra算法就是每次通过为每个顶点保留目前为止最短路径来工作。而Bellman-Ford算法由于存在负权边,用Dijkstra算法处理负权边不一定能找到最短路径,下面来讲讲Bellman-Ford算法的思想和例题。...原创 2022-07-19 16:29:33 · 1112 阅读 · 0 评论 -
解决单源最短路径的Dijkstra贪心算法(堆优化版)
3,由于题目说明有重边和自环,我们又发现在小根堆中最短距离一定是在前面先遍历的并且被标记,所以后面的距离大的重边直接continue即可。接下来mm行每行包含三个整数x,y,z,表示存在一条从点x到点y的有向边,边长为z。请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出−1。三,priority_queue(优先队列)(小根堆,大根堆,小顶堆,大顶堆)2,用优先队列来表示堆,我们应该选择小根堆,因为每次寻找距离最短的点。push_front();...原创 2022-07-15 23:25:20 · 625 阅读 · 0 评论 -
解决单源最短路径的Dijkstra贪心算法(朴素版)
给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环,所有边权均为正值。请你求出 1 号点到 n 号点的最短距离,如果无法从 1 号点走到 n 号点,则输出 −1。输入格式第一行包含整数 n 和 m。接下来 m 行每行包含三个整数 x,y,z,表示存在一条从点 x 到点 y 的有向边,边长为 z。输出格式输出一个整数,表示 1 号点到 n 号点的最短距离。如果路径不存在,则输出 −1。数据范围1≤n≤500,1≤m≤105,图中涉及边长均不超过10000。输入样例:输出样例:......原创 2022-07-14 17:35:55 · 299 阅读 · 0 评论 -
有向图的拓扑排序
拓扑排序(有向无环图)原创 2022-07-13 18:56:42 · 1240 阅读 · 0 评论