Floyd-Warshall算法描述 1)适用范围: a)APSP(All Pairs Shortest Paths) b)稠密图效果最佳 c)边权可正可负 2)算法描述: a)初始化:dis[u,v]=w[u,v] b)For k:=1 to n For i:=1 to n For j:=1 to n If dis[i,j]>dis[i,k]+dis[k,j] Then Dis[I,j]:=dis[I,k]+dis[k,j] c)算法结束:dis即为所有点对的最短路径矩阵 3)算法小结:此算法简单有效,由于三重循环结构紧凑,对于稠密图,效率要高于执行|V|次Dijkstra算法。时间复杂度O(n^3)。 考虑下列变形:如(I,j)∈E则dis[I,j]初始为1,else初始为0,这样的Floyd算法最后的最短路径矩阵即成为一个判断I,j是否有通路的矩阵。更简单的,我们可以把dis设成boolean类型,则每次可以用“dis[I,j]:=dis[I,j]or(dis[I,k]and dis[k,j])”来代替算法描述中的蓝色部分,可以更直观地得到I,j的连通情况。
标签: Floyd-Warshall Shortest Pairs Paths
上传时间: 2013-12-01
上传用户:dyctj
IntraWeb电影程序 B/S类型的演示 Delphi+Internet 开发的电影服务器 系统登录电影网站的用户名和密码都是admin 观看电影的最低要求: 请确保你的系统已经安装媒体播放器9.0和RealOne播放器并且得升级浏览器为IE6.0以上,且系统比较支持COOKIE. 程序占用了90端口.在运行时请确保此端口没被其它程序占用.
标签: IntraWeb Internet Delphi admin
上传时间: 2013-12-18
上传用户:lijinchuan
%调用格式 =trapez_g( f_name ,a,b,n) %f_name: 被积函数的文件名f(x) % a:x的上限 % b:x的下限 % 部分区间数 %实例:trapez_g( sin ,0,pi,20)
上传时间: 2013-12-19
上传用户:cjl42111
Program main BIOS image | | /B - Program Boot Block | | /N - Program NVRAM | | /C - Destroy CMOS checksum | | /E - Program Embedded Controller Block | | /K - Program all non-critical blocks | | /Kn - Program n th non-critical block only(n=0-7) | | /Q - Silent execution | | /REBOOT - Reboot after programming | | /X - Don t Check ROM ID | | /S - Display current system s ROMID | | /Ln - Load CMOS defaults
标签: Program Destroy Block NVRAM
上传时间: 2016-07-26
上传用户:wfl_yy
高斯-塞德尔迭代法算法: 设方程组AX=b 的系数矩阵的对角线元素 ,M为迭代次数容许的最大值, 为容许误差。 ① 取初始向量 ,令k=0 ② 对 计算 ③ 如果 ,则输出 ,结束;否则执行④, ④ 如果 ,则不收敛,终止程序;否则 ,转②。
上传时间: 2014-01-22
上传用户:集美慧
移位乘法器的输入为两个4位操作数a和b,启动乘法器由stb控制,clk信号提供系统定时。乘法器的结果为8位信号result,乘法结束后置信号done为1. 乘法算法采用原码移位乘法,即对两个操作数进行逐位的移位相加,迭代4次后输出结果。具体算法: 1. 被乘数和乘数的高位补0,扩展成8位。 2. 乘法依次向右移位,并检查其最低位,如果为1,则将被乘数和部分和相加,然后将被乘数向左移位;如果为0,则仅仅将被乘数向左移位。移位时,被乘数的低端和乘数的高端均移入0. 3. 当乘数变成全0后,乘法结束。
上传时间: 2014-01-03
上传用户:星仔
停车诱导系统中车位预测模型的研究 摘 要 研究城市停车诱导系统的停车车位占有率预测问题。首先提出墓于B P神经网络的车位占有预测模型, 同时将自适应 学习速率调整法和加入动量项方法用于改善基本B P神经网络, 优化了学习速率, 减少了训练过程的震荡趋势, 改善了网络的收效 隆。以此为基础实现了停车位的智能预测 0最后, 进行了多种方法比对实验
上传时间: 2013-12-17
上传用户:GavinNeko
小型公司工资管理系统 工资的计算方法: A 经理:固定月薪为8000; B 技术员:工作时间*小时工资(100元每小时); C 销售员:销售额*4%提成; D 销售经理:底薪(5000)+所辖部门销售额总额*0.5%;
上传时间: 2013-12-18
上传用户:qilin
溫度華氏轉變攝氏 #include <stdio.h> #include <stdlib.h> enum x {A,B,C,D,E} int main(void) { int a=73,b=85,c=66 { if (a>=90) printf("a=A等級!!\n") else if (a>=80) printf("73分=B等級!!\n") else if (a>=70) printf("73分=C等級!!\n") else if (a>=60) printf("73分=D等級!!\n") else if (a<60) printf("73分=E等級!!\n") } { if (b>=90) printf("b=A等級!!\n") else if (b>=80) printf("85分=B等級!!\n") else if (b>=70) printf("85分=C等級!!\n") else if (b>=60) printf("85分=D等級!!\n") else if (b<60) printf("85分=E等級!!\n") } { if (c>=90) printf("c=A等級!!\n") else if (c>=80) printf("66分=B等級!!\n") else if (c>=70) printf("66分=C等級!!\n") else if (c>=60) printf("66分=D等級!!\n") else if (c<60) printf("66分=E等級!!\n") } system("pause") return 0 }
上传时间: 2014-11-10
上传用户:wpwpwlxwlx
溫度華氏轉變攝氏 #include <stdio.h> #include <stdlib.h> enum x {A,B,C,D,E} int main(void) { int a=73,b=85,c=66 { if (a>=90) printf("a=A等級!!\n") else if (a>=80) printf("73分=B等級!!\n") else if (a>=70) printf("73分=C等級!!\n") else if (a>=60) printf("73分=D等級!!\n") else if (a<60) printf("73分=E等級!!\n") } { if (b>=90) printf("b=A等級!!\n") else if (b>=80) printf("85分=B等級!!\n") else if (b>=70) printf("85分=C等級!!\n") else if (b>=60) printf("85分=D等級!!\n") else if (b<60) printf("85分=E等級!!\n") } { if (c>=90) printf("c=A等級!!\n") else if (c>=80) printf("66分=B等級!!\n") else if (c>=70) printf("66分=C等級!!\n") else if (c>=60) printf("66分=D等級!!\n") else if (c<60) printf("66分=E等級!!\n") } system("pause") return 0 }
上传时间: 2013-12-12
上传用户:亚亚娟娟123