算法
RunWithSmile
这个作者很懒,什么都没留下…
展开
-
利用栈实现拓扑排序
对一个有向图,设G=(V,E),V表示的是顶点集合,E表示的是顶点间的边关系,若 Vi -> Vj存在路径,则Vi一定排在Vj之前,则我们称这样的顶点序列为拓扑序列,使之构成拓扑序列的过程叫做拓扑排序。原创 2022-01-28 22:47:47 · 2545 阅读 · 0 评论 -
弗洛伊德(Floyd)算法求所有顶点到其他顶点的最短路径
Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似,不同点在于,Dijkstra算法一次性只能计算出某一个端点到其他端点的最短路径,而Floyd算法可以计算出所有端点到其他端点的最短路径,虽然它们的时间复杂度都是n的3次方,但是Floyd算法很简洁优雅。原创 2022-01-27 00:26:29 · 1426 阅读 · 0 评论 -
迪杰斯特拉算法求最短路径
迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法策略,广度优先思想,一步一步算出距离起始点最近且未访问过的顶点,直至所有顶点都被访问最终可得出起始点到所有顶点的最短路径。原创 2022-01-19 21:47:51 · 1418 阅读 · 0 评论 -
最小生成树克鲁斯卡尔算法
最小生成树克鲁斯卡尔算法原创 2022-01-07 21:02:44 · 870 阅读 · 0 评论 -
普鲁姆算法加权最小生成树
加权最小生成树原创 2022-01-03 15:58:39 · 460 阅读 · 0 评论 -
利用队列实现广度优先遍历
利用队列实现广度优先遍历原创 2021-12-26 13:33:16 · 1845 阅读 · 0 评论 -
利用栈实现深度优先遍历
利用递归加栈实现深度优先遍历算法原创 2021-12-26 00:41:33 · 3702 阅读 · 0 评论