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
(1) 、用下述两条具体规则和规则形式实现.设大写字母表示魔王语言的词汇 小写字母表示人的语言词汇 希腊字母表示可以用大写字母或小写字母代换的变量.魔王语言可含人的词汇. (2) 、B→tAdA A→sae (3) 、将魔王语言B(ehnxgz)B解释成人的语言.每个字母对应下列的语言.
上传时间: 2013-12-30
上传用户:ayfeixiao
1) Write a function reverse(A) which takes a matrix A of arbitrary dimensions as input and returns a matrix B consisting of the columns of A in reverse order. Thus for example, if A = 1 2 3 then B = 3 2 1 4 5 6 6 5 4 7 8 9 9 8 7 Write a main program to call reverse(A) for the matrix A = magic(5). Print to the screen both A and reverse(A). 2) Write a program which accepts an input k from the keyboard, and which prints out the smallest fibonacci number that is at least as large as k. The program should also print out its position in the fibonacci sequence. Here is a sample of input and output: Enter k>0: 100 144 is the smallest fibonacci number greater than or equal to 100. It is the 12th fibonacci number.
标签: dimensions arbitrary function reverse
上传时间: 2016-04-16
上传用户:waitingfy
5-1.asm对应第五章语音信号的采集和播放主程序; (2)5-2.asm对应第五章语音信号的采集和播放中断向量程序; (3)5-3.cmd对应第五章语音信号的采集和播放配置文件; (4)5-4.asm对应第五章语音信号的u/A律压缩程序; (5)5-5.m对应第五章语音去噪的仿真程序; (6)5-6.asm对应第五章语音去噪的主程序; (7)5-7.c对应第五章CVSD编码的C语言程序代码; (8)5-8.asm对应第五章CVSD的解码程序; (9)5-9.asm对应第五章CVSD的编码程序。
上传时间: 2014-11-28
上传用户:hoperingcong
算法实现题1-5 最大间隙问题 « 问题描述: 最大间隙问题:给定n 个实数x , , xn 1 2 ,求这n 个数在实轴上相邻2 个数之间的最 大差值。假设对任何实数的下取整函数耗时O(1),设计解最大间隙问题的线性时间算法。 « 编程任务: 对于给定的n 个实数n x , x , , x 1 2 ,编程计算它们的最大间隙。 « 数据输入: 输入数据由文件名为input.txt的文本文件提供。文件的第1 行有1 个正整数n。接下来 的1 行中有n个实数n x , x , , x 1 2 。 « 结果输出: 程序运行结束时,将找到的最大间隙输出到文件output.txt中。 输入文件示例 输出文件示例 input.txt 5 2.3 3.1 7.5 1.5 6.3 output.txt 3.2
上传时间: 2016-05-28
上传用户:咔乐坞
微型机器人足球的赛场长1.5米,宽1.3米,比乒乓球台略小,场地画有中线、中圈和门区。每队由三个边长不超过7.5厘米的立方体形的遥控小车(机器人)组成
上传时间: 2016-06-12
上传用户:问题问题
对PL0原编译器进行了以下的扩充:1.增加以下保留字else(elsesym), for(forsym),to(tosym),downto(downtosym),return(returnsym),[(lmparen),](rmparen) 2.增加了以下的运算符:+=(eplus),-=(eminus),++(dplus),--(dminus) 取址运算符&(radsym),指向运算符@(padsym) 3.修改单词:修改不等号#为<> 4.扩充语句:(1)增加了else子句 (2)增加了for语句 5.增加运算:(1).++运算 (2).--运算;(3).+=运算 (4).-=运算;(5).&取址运算; (6).@指向运算; 6.增加类型:(1).增加多维数组a[i1][i2][i3]……[i(n-1)][i(n-2)][in] (2).增加指针类型(任何变量都能存放指针,但不支持指针的指针,如b:=@@a应该改写为c:=@a,b:=@c) 7.将过程procedure扩展为函数:(1).允许定义过程时在其后加参数(var a, var b,……..,var n) (2)允许通过指针向函数形式参数传地址;(3)允许返回值;可以用 a:=p(a,b,c….,n) 返回
标签: downtosym returnsym elsesym downto
上传时间: 2016-07-02
上传用户:saharawalker
1.有三根杆子A,B,C。A杆上有若干碟子 2.每次移动一块碟子,小的只能叠在大的上面 3.把所有碟子从A杆全部移到C杆上 经过研究发现,汉诺塔的破解很简单,就是按照移动规则向一个方向移动金片: 如3阶汉诺塔的移动:A→C,A→B,C→B,A→C,B→A,B→C,A→C 此外,汉诺塔问题也是程序设计中的经典递归问题
上传时间: 2016-07-25
上传用户:gxrui1991
1. 下列说法正确的是 ( ) A. Java语言不区分大小写 B. Java程序以类为基本单位 C. JVM为Java虚拟机JVM的英文缩写 D. 运行Java程序需要先安装JDK 2. 下列说法中错误的是 ( ) A. Java语言是编译执行的 B. Java中使用了多进程技术 C. Java的单行注视以//开头 D. Java语言具有很高的安全性 3. 下面不属于Java语言特点的一项是( ) A. 安全性 B. 分布式 C. 移植性 D. 编译执行 4. 下列语句中,正确的项是 ( ) A . int $e,a,b=10 B. char c,d=’a’ C. float e=0.0d D. double c=0.0f
上传时间: 2017-01-04
上传用户:netwolf
DSP嵌入式系统开发典型案例 (1)5-1.asm对应第五章语音信号的采集和播放主程序; (2)5-2.asm对应第五章语音信号的采集和播放中断向量程序; (3)5-3.cmd对应第五章语音信号的采集和播放配置文件; (4)5-4.asm对应第五章语音信号的u/A律压缩程序; (5)5-5.m对应第五章语音去噪的仿真程序; (6)5-6.asm对应第五章语音去噪的主程序; (7)5-7.c对应第五章CVSD编码的C语言程序代码; (8)5-8.asm对应第五章CVSD的解码程序; (9)5-9.asm对应第五章CVSD的编码程序。
上传时间: 2017-02-17
上传用户:123啊