
算法与数据结构
Hope_epoh
这个作者很懒,什么都没留下…
展开
-
Dijkstra算法的两种实现
Dijkstra算法是用来求加权图的单源最短路径算法之一,其实现方法有两种利用动态规划和贪婪算法。以下内容中,V代表节点个数,E代表边数,初始结点为start,w(i, j)代表边i->j的权重。 1、动态规划算法 先定义一个数组dp,dp[i]用来记录从start结点到i结点的最短路径,初始值为∞。然后执行以下循环直到dp中没有∞出现,对于每次循环,遍历每条边v1->v2,更新d...原创 2018-09-24 21:36:02 · 4334 阅读 · 2 评论 -
Binary Search要点总结
一、二分查找的公式 int l, r; //[l, r) while(l < r) { int mid = l + ((r - l) >> 1); if(mid == target) returm mid; if(f(mid)) r = mid; else l = mid + 1; } return l; //...原创 2018-11-11 16:26:23 · 318 阅读 · 0 评论