Warshall沃舍尔算法
Warshall算法简要陈述如上;那么,我们应该怎么去完成呢?
其实,我认为最好的理解方法就是跟着算法的思维去手动解决这个问题。
首先,我们知道i=1,这是随循环增加的一个数值,它是算法进行的一个限制条件,当然,它也可以作为运算时利用的条件。
当j行i列为1,就能触发Warshall进行运算。这时进行的是关系运算,设k,将其依次循环,把矩阵j行k列和i行k列关系运算后重新赋值给j行k列,循环结束后i+1。这个关系运算是怎么进行的呢?这里我们不做特别详细的说明,因为,最开始这个问题也困绕了笔者很久,但是当自己慢慢的、一个一个的去将每一个矩阵的每一个步骤列出来的时候,一切就清晰了。如下:
由上图,关系运算是能够看出来的。
当我们看懂关系运算进行后进行总结:warshall运算时,就是把第j行+第i行,送回第j行
#Warshall
print("请输入矩阵的数据") #获取矩阵数据
row=int(input("请输入矩阵行数"))
column=int(input("请输入矩阵的列数"))
print("\n")
n=rowmatrix=[]for i in range(1,n+1):matrix.append(input("row{0}".format(i)).split(","))print("原矩阵为:",(matrix))a = [[0 for i in range(n)] for j in range(n)] #置新矩阵for j in range(row): #进入循环for i in range(n): #限制条件,i<=nif int(matrix[j][i])==1: #进行运算for k in range(n):a[j][k]=int(matrix[j][k]) or int(matrix[i][k])#第j行+第i行,送回第j行print("M t(R)=",a)
下面给出测试集
Warshall沃舍尔算法相关推荐
- 沃舍尔算法_[数据结构拾遗]图的最短路径算法
前言 本专题旨在快速了解常见的数据结构和算法. 在需要使用到相应算法时,能够帮助你回忆出常用的实现方案并且知晓其优缺点和适用环境.并不涉及十分具体的实现细节描述. 图的最短路径算法 最短路径问题是图论 ...
- 沃舍尔算法_坐在马桶上看算法:只有五行的Floyd最短路算法
暑假,小哼准备去一些城市旅游.有些城市之间有公路,有些城市之间则没有,如下图.为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程. 上图中有4个城市8条公路,公路上的数字表 ...
- 沃舍尔算法_【图论】计算机科学:Floyd-Warshall算法(弗洛伊德算法)
不同于Dijkstra算法,Floyd-Warshall算法可以求出一张图中任意两点的距离. 该算法由1978年图灵奖获得者斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名.伯特·弗洛伊德先生图灵奖:作 ...
- 使用 Warshall(沃舍尔)算法求解关系的传递闭包
1.离散数学定义: t(R) = R u R^2 u R^3 u..... 其中R^(n+1) = R^n 复合 R 矩阵表示: M(R) = M + M^2 + M^3 +....+M^n(其中加为 ...
- 读《哥德尔,艾舍尔,巴赫-集异壁之大成》
漫长的一个月终于过去,这本<哥德尔,艾舍尔,巴赫-集异壁之大成>终于在十一月的末尾读完了.尽管有人评论这本书并不像传说的那样是一本空前的奇书,但我对于作者在此书中能把这么多学科领域集中在一 ...
- 用 Wolfram 语言透视埃舍尔的立方体空间
摘要 荷兰版画埃舍尔 (M. C. Escher,https://mcescher.com/) 的每一件作品对于他的追随者而言都是数学和视觉上的谜题.其实埃舍尔的许多作品和创作方法已经在数学概念上已经 ...
- 【HDU - 1301】Jungle Roads(并查集+最小生成树)(内附最小生成树两种算法 克鲁斯特尔算法amp;amp;普里姆算法)
题干: Jungle Roads Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- voms下的反射大师_晓星说数学:让数学家折服的艺术大师埃舍尔
艺术家说:埃舍尔是当之无愧的艺术大师.空前绝后的艺术怪才! 哲学家说:埃舍尔是一个伟大的思想家,他不是通过语言和文字来表达他的伟大思想,而是通过绘画! 数学家说:埃舍尔是平面对称群的发现者.也是分形几 ...
- 千古奇才---埃舍尔
埃舍尔把自己称为一个" 图形艺术家",他专门从事于木版画和平版画.1898年他出生在荷兰的 Leeuwarden,全名叫 Maurits Cornelis Escher.他的家庭设 ...
最新文章
- 解构 StyleCLIP:文本驱动、按需设计,媲美人类 P 图师
- android+高仿视频录制,android高仿微信视频编辑页
- GPU — CUDA 编程模型
- thinkPHP5.1.9 vendor 第三方库的使用
- linux安装icc步骤,怎麼安装不到 icc?
- Linux 应用---make及makefile的编写
- linux(虚拟机中)与windows共享文件两种方法
- Oracle数据库的增删改操作介绍
- keepalived详解和实战
- GD32E230开发笔记-GD32E230开发Demo
- sql注入工具--Sqlmap
- WinCE下Touch Panel驱动介绍 .
- 易辅客栈-第16套从零学手游脚本实战
- .dat文件三维点云可视化
- myeclipse破解补丁
- 计算机课安全管理制度,微机室安全管理制度.doc
- 微信创建公众号,获取AppID、AppSecret以及accesstoken
- mysql 左联left join解析及使用指南
- 语言处理 之 melgan
- 数据库高并发解决方法总结