
kaoyan算法记录
践行~渐远
我只是简单的不喜欢对自己妄自菲薄,也不喜欢别人替我妄自菲薄而已
展开
-
统一Prim(最小生成树)和Dijkstra(单源最短路径)代码(Java)
两者都采用到了贪心的策略,并且两个算法都一直维护着一个数组dist (Dijkstra),lowCost(最小生成树) 其中:lowCost[i]表示:当前构建的生成树集合到顶点i的最低代价 dist [i]表示:当前节点k到各个顶点的最短路径 算法思路: 不断从不在当前最优集合中去寻找和当前最优集合的最小代价,通过当前选中的最优决策来不断更新维护该数组(dist,lowCost),直到所有顶点都被标记为止。 —直接上代码看 743. 网络延迟时间(最短路径算法) //Dijkstra算法 :从 k 点出发原创 2022-04-04 20:54:35 · 1680 阅读 · 0 评论 -
图最短路径算法《Floyd,Dijkstra》
743. 网络延迟时间 有 n 个网络节点,标记为 1 到 n。 给你一个列表 times,表示信号经过 有向 边的传递时间。 times[i] = (ui, vi, wi),其中 ui 是源节点,vi 是目标节点, wi 是一个信号从源节点传递到目标节点的时间。 现在,从某个节点 K 发出一个信号。需要多久才能使所有节点都收到信号?如果不能使所有节点收到信号,返回 -1 。 //Floyd:对于每一个顶点k,检查dist(i,k)+dist(k,j) < dist(i,j);是否成立 // 邻接矩阵原创 2022-03-23 19:43:20 · 949 阅读 · 0 评论 -
Kruskal 算法《图算法》
连接所有点的最小费用 问题拆解:size个顶点求最小生成树(无向图) 思路: 先模拟,将所有边加入到edges 中,按照weight权值排序(从小到大),之后依次遍历已排序的边,加入该边,判断是否与当前的图结构成环(并查集判环),否则加入该边,是则continue,直到加入了size-1条边为止跳出循环 class Solution { public int minCostConnectPoints(int[][] points) { int size = points.leng.原创 2022-03-24 19:27:43 · 478 阅读 · 0 评论