首先了解一下各种图论适合的问题 https://www.cnblogs.com/thousfeet/p/9229395.html 这篇适合看Bellman-Ford算法 https://www.cnblogs.com/konjak/p/6031773.html SPFA算法 https://www. ...
分类:
其他好文 时间:
2020-04-23 09:14:06
阅读次数:
69
最近公共祖先,就是指两个节点在这棵树上深度最大的公共的祖先节点,也就是这两个点在这棵树上距离最近的公共祖先节点。 所以LCA主要是用来处理两个点之间唯一的那一条最短路径。 首先最容易想到的暴力做法: 给出节点u , v,,首先对u进行回溯一直到根节点,并对途中的节点加上标记。然后对v进行回溯,直到找 ...
分类:
其他好文 时间:
2020-04-22 10:14:29
阅读次数:
49
(1)多源最短路径 Floyd-Warshall 算法核心语句 for(k = 1;k <= n;k++) for(i= 1;i <= n;i++) for(j= 1;j <= n;j++) if(e[i][j]>e[i][k]+e[j][k]) ` e[i][j] = e[i][k]+e[j][k ...
分类:
编程语言 时间:
2020-04-20 20:07:56
阅读次数:
82
二叉树的最小深度 LeetCode: "二叉树的最小深度" 题目描述: 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点 示例: 思想: 还是递归,没啥特别的 代码 我的第一遍代码: 优化之后: if(x == 0||y ...
分类:
编程语言 时间:
2020-04-19 11:17:51
阅读次数:
76
1 #include <iostream> 2 #define infinity 65535 3 using namespace std; 4 int cnt[1000];//S到某点最短路径的数目 5 int low[1000];//S到某点最短路径长度 6 int high[1000] = { ...
分类:
其他好文 时间:
2020-04-18 11:40:54
阅读次数:
155
基于蚁群算法的10个城市TSP问题的最短路径研究 1 蚁群算法 1.1 蚁群算法的流程步骤 这里以TSP问题为例,算法设计的流程如下: 步骤1:对相关参数进行初始化,包括蚁群规模、信息素因子、启发函数因子、信息素挥发因子、信息素常数、最大迭代次数等,以及将数据读入程序,并进行预处理:比如将城市的坐标 ...
分类:
编程语言 时间:
2020-04-18 10:09:34
阅读次数:
78
Floyd算法 使用条件 可以求出多源最短路,可以处理负权边的情况,但是不能出现负环。 时间复杂度 O(n3) 讲解 Floyed算法使用的是动态规划的方法。 我们首先观察上图。 我们来想一想,根据我们以往的经验,如果要让任意两点(例如从顶点a点到顶点b)之间的路程变短,只能引入第三个点(顶点k), ...
分类:
编程语言 时间:
2020-04-18 09:17:29
阅读次数:
115
问题 A: 树上距离 懒惰的温温今天上班也在偷懒。盯着窗外发呆的温温发现,透过窗户正巧能看到一棵n个节点的树。一棵n个节点的树包含n 1条边,且n个节点是联通的。树上两点之间的距离即两点之间的最短路径包含的边数。 突发奇想的温温想要知道,树上有多少个不同的点对,满足两点之间的距离恰好等于k。 注意: ...
分类:
其他好文 时间:
2020-04-14 16:41:52
阅读次数:
90
111. 二叉树的最小深度 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 /** * Definitio ...
分类:
其他好文 时间:
2020-04-12 18:45:50
阅读次数:
57
1.1-1 给出一个真实世界的例子,其中包含下列某种计算问题:排序,确定多矩阵相乘的最佳顺序、或者找出凸壳。 排序: 成绩排序 大多数的数据库都会用到排序 淘宝价格排序等 确定多矩阵相乘最佳顺序: 数字图像处理 模仿的矩阵模拟 找出凸壳: 这个我认为在选择最短路径的时候会用到, 另外看网上还提到找路 ...
分类:
编程语言 时间:
2020-04-12 16:03:28
阅读次数:
85