码迷,mamicode.com
首页 >  
搜索关键字:dijkstra and floyd    ( 3573个结果
为什么Dijkstra算法不适用边长为负数的情况
Dijkstra算法,是有向/无向加权图(就是每条边都有长度)中,计算两个点之间最短距离的有效方法,在使用堆排序的情况下,它的时间复杂度为O(Nlog(N+M)),(这里N代表节点数,M代表边数)很接近线性了,还是非常好的。 不过,Dijkstra算法有一个限制,就是它只适用于边长不为负的图。如果一张图里有负数长的边长,那么Dijkstra算法就不适用了。这时候就需要另外的算法了。 为什么不适用呢?其实很容易就可以找到反例。...
分类:编程语言   时间:2014-11-20 23:46:29    阅读次数:278
CF489_D_剪枝
题目链接:http://codeforces.com/problemset/problem/489/D题意:给你一个图 让你求里面菱形的个数,菱形如下图思路:类似于floyd,枚举点a和点c。注意:题目里面点的个数为3000,边的个数为30000,做一个剪枝,复杂度为O(nm+(n-√m)n)。好吧...
分类:其他好文   时间:2014-11-19 22:03:06    阅读次数:124
Linux多线程模拟生产者/消费者问题
描述:        生产者-消费者问题是一个经典的进程同步问题,该问题最早由Dijkstra提出,用以演示他提出的信号量机制。在同一个进程地址空间内执行的N个线程生产者线程生产物品,然后将物品放置在一个空缓冲区中供N个消费者线程消费。消费者线程从缓冲区中获得物品,然后释放缓冲区。当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等待消费者线程释放出一个空缓冲区。当消费者线程消费物品...
分类:编程语言   时间:2014-11-19 20:35:52    阅读次数:178
leetcode --- Linked List Cycle [Floyd's cycle-finding algorithm]
Linked List CycleGiven a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?Linked ListTwo Pointers''...
分类:其他好文   时间:2014-11-18 23:25:09    阅读次数:170
poj2263 zoj1952 Heavy Cargo(floyd||spfa)
这道题数据范围小,方法比较多。我用floyd和spfa分别写了一下,spfa明显有时间优势。一个小技巧在于:把城市名称对应到数字序号,处理是用数字。方法一:spfa#include#include#include#include#include#include#include#include#inc...
分类:其他好文   时间:2014-11-17 06:50:13    阅读次数:234
zoj1967 poj2570 Fiber Network (floyd算法)
虽然不是最短路,但是询问时任意两点之间的信息都要知道才能回答,由此联想到floyd算法,只要都floyd算法的原理理解清楚了就会发现:这道题的思想和求任意两点之间的最短路的一样的,只不过是更新的信息不同而已。这道题还有一个难点在于状态压缩:如果直接用字符串来表示maps[i][j],那么在floyd...
分类:编程语言   时间:2014-11-17 06:48:43    阅读次数:174
SPFA算法
适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便派上用场了。 我们约定有向加权图G不存在负权回路,即最短路径一定存在。当然,我们可以在执行该算法前做一次拓扑排序,以判断是否存在负权回路,但这不是我们讨论的重点。...
分类:编程语言   时间:2014-11-16 00:30:13    阅读次数:253
HDU 3681 Prison Break floyd+状压+二分
题目链接:点击打开链接 题意: 给定n*m的矩阵: F:起点(有且仅有一个) D:坏点(不能走到这个点) G:能量池(走到这个点可以选择使用这个点的能量池,把电池充满,也可以暂时不用,只能使用一次) Y:目标点 问: 遍历所有Y点需要最小的电池容量是多少。 开始电池满电,每走一步消耗一格电。 Y+G的个数 思路:状压YG,前面几位表示Y,后面几位表示G。 先跑个floyd,...
分类:其他好文   时间:2014-11-14 19:48:25    阅读次数:278
最短路径算法集锦
列举了深度优先搜索的递归和非递归算法,Dijkstra最短路径算法, 基于Bellman-Fort最短路径算法的改进型广度优先搜索算法, Floyd-Warshall最短路径算法的原始版和变化版 本文是阅读《啊哈!算法》后的学习笔记,代码与教材中有些差异,若有错误请指正,谢谢!...
分类:编程语言   时间:2014-11-13 22:31:20    阅读次数:277
hdu 2112 dijkstra+优先队列
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 15727    Accepted Submissio...
分类:其他好文   时间:2014-11-13 18:58:34    阅读次数:226
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!