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沃舍尔算法相关推荐

  1. 沃舍尔算法_[数据结构拾遗]图的最短路径算法

    前言 本专题旨在快速了解常见的数据结构和算法. 在需要使用到相应算法时,能够帮助你回忆出常用的实现方案并且知晓其优缺点和适用环境.并不涉及十分具体的实现细节描述. 图的最短路径算法 最短路径问题是图论 ...

  2. 沃舍尔算法_坐在马桶上看算法:只有五行的Floyd最短路算法

    暑假,小哼准备去一些城市旅游.有些城市之间有公路,有些城市之间则没有,如下图.为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程. 上图中有4个城市8条公路,公路上的数字表 ...

  3. 沃舍尔算法_【图论】计算机科学:Floyd-Warshall算法(弗洛伊德算法)

    不同于Dijkstra算法,Floyd-Warshall算法可以求出一张图中任意两点的距离. 该算法由1978年图灵奖获得者斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名.伯特·弗洛伊德先生图灵奖:作 ...

  4. 使用 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(其中加为 ...

  5. 读《哥德尔,艾舍尔,巴赫-集异壁之大成》

    漫长的一个月终于过去,这本<哥德尔,艾舍尔,巴赫-集异壁之大成>终于在十一月的末尾读完了.尽管有人评论这本书并不像传说的那样是一本空前的奇书,但我对于作者在此书中能把这么多学科领域集中在一 ...

  6. 用 Wolfram 语言透视埃舍尔的立方体空间

    摘要 荷兰版画埃舍尔 (M. C. Escher,https://mcescher.com/) 的每一件作品对于他的追随者而言都是数学和视觉上的谜题.其实埃舍尔的许多作品和创作方法已经在数学概念上已经 ...

  7. 【HDU - 1301】Jungle Roads(并查集+最小生成树)(内附最小生成树两种算法 克鲁斯特尔算法amp;amp;普里姆算法)

    题干: Jungle Roads Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  8. voms下的反射大师_晓星说数学:让数学家折服的艺术大师埃舍尔

    艺术家说:埃舍尔是当之无愧的艺术大师.空前绝后的艺术怪才! 哲学家说:埃舍尔是一个伟大的思想家,他不是通过语言和文字来表达他的伟大思想,而是通过绘画! 数学家说:埃舍尔是平面对称群的发现者.也是分形几 ...

  9. 千古奇才---埃舍尔

    埃舍尔把自己称为一个" 图形艺术家",他专门从事于木版画和平版画.1898年他出生在荷兰的 Leeuwarden,全名叫 Maurits Cornelis Escher.他的家庭设 ...

最新文章

  1. 解构 StyleCLIP:文本驱动、按需设计,媲美人类 P 图师
  2. android+高仿视频录制,android高仿微信视频编辑页
  3. GPU — CUDA 编程模型
  4. thinkPHP5.1.9 vendor 第三方库的使用
  5. linux安装icc步骤,怎麼安装不到 icc?
  6. Linux 应用---make及makefile的编写
  7. linux(虚拟机中)与windows共享文件两种方法
  8. Oracle数据库的增删改操作介绍
  9. keepalived详解和实战
  10. GD32E230开发笔记-GD32E230开发Demo
  11. sql注入工具--Sqlmap
  12. WinCE下Touch Panel驱动介绍 .
  13. 易辅客栈-第16套从零学手游脚本实战
  14. .dat文件三维点云可视化
  15. myeclipse破解补丁
  16. 计算机课安全管理制度,微机室安全管理制度.doc
  17. 微信创建公众号,获取AppID、AppSecret以及accesstoken
  18. mysql 左联left join解析及使用指南
  19. 语言处理 之 melgan
  20. 数据库高并发解决方法总结

热门文章

  1. 什么是手机证书和签名干什么用的
  2. \u开头的unicode中的\u被转义\\u的问题处理
  3. 爬取链家二手房交易数据
  4. EntityFramework 用Moles的mock
  5. 零散专题32 生成PDF
  6. window.onload与body.onload
  7. 水准测量的各种数字考点
  8. ionic ActionSheet(上拉菜单)
  9. Java架构师大型互联网高级技术视频教程
  10. 破解Zip加密文件常用的几种方法