离散知识

给了你一个矩阵,你如何求他的传递闭包呢?

//求出如下矩阵的传递闭包
1 0 1 0 0
1 1 1 0 0
0 0 0 0 1
1 0 0 1 0
0 0 0 0 0

利用WarShall算法求解过程如下:

从第一列元素,开始看,哪个为1,可以看出,<1,1>,<2,1>,<4,1>为1,则分别将第1、2、4行元素与第1行元素进行逻辑加,成为新的1、2、4行的元素。

1 0 1 0 0
1 1 1 0 0
0 0 0 0 1
1 0 1 1 0
0 0 0 0 0

然后看第二列,<2,2>为1,则将第2行与第2行各个元素进行逻辑加,成为新的第2行元素

1 0 1 0 0
1 1 1 0 0
0 0 0 0 1
1 0 1 1 0
0 0 0 0 0

看第三列元素,<1,3>,<2,3>,<4,3>为1,则可得

1 0 1 0 1
1 1 1 0 1
0 0 0 0 1
1 0 1 1 1
0 0 0 0 0

看第四列,<4,4>为1,则可得

1 0 1 0 1
1 1 1 0 1
0 0 0 0 1
1 0 1 1 1
0 0 0 0 0

最后一列,<1,5>,<2,5>,< 3,5>,<4,5>,最终可得

1 0 1 0 1
1 1 1 0 1
0 0 0 0 1
1 0 1 1 1
0 0 0 0 0

代码实现

for(int i=1;i<=5;i++)for(int j=1;j<=5;j++)cin>>a[i][j];for(int i=1;i<=5;i++)for(int j=1;j<=5;j++){if(a[j][i]==1)for(int k=1;k<=5;k++)a[j][k]=(a[j][k]||a[i][k]);}for(int i=1;i<=5;i++){for(int j=1;j<=5;j++)cout<<a[i][j]<<" ";cout<<endl;}

WarShall算法求矩阵传递闭包关系相关推荐

  1. C语言用warshall算法求传递闭包transitive closure(附完整源码)

    用warshall算法求传递闭包transitive closure warshall算法求传递闭包完整源码 warshall算法求传递闭包完整源码 #include <stdbool.h> ...

  2. C++floyd warshall算法求最短路径(附完整源码)

    C++floyd warshall算法求最短路径 floyd warshall算法求最短路径的完整源码(定义,实现,main函数测试) floyd warshall算法求最短路径的完整源码(定义,实现 ...

  3. WarShall算法求传递闭包(可达矩阵)

    最近在复习离散数学,顺便记录记录自己对warshall算法的理解. 1.传递闭包(可达矩阵) 传递闭包是有向图的一个重要性质,它指的是在有向图中从任意一个节点出发,可以到达的所有节点的集合.在某些应用 ...

  4. Warshall算法求有向图的传递闭包

    1定义是这样给出的,传递闭包:对于任何关系 R,R 的传递闭包总是存在的.传递关系的任何家族的交集也是传递的.进一步的,至少存在一个包含 R 的传递关系,也就是平凡的: X × X.R 传递闭包给出自 ...

  5. 雅可比算法求矩阵特征值C语言源代码,雅可比(Jacobi)计算特征值和特征向量

    雅可比迭代法法 在图形图像中不少地方用到求矩阵的特征值和特征向量,好比主成分分析.OBB包围盒等.编程时通常都是用数值分析的方法来计算,这里介绍一下雅可比迭代法求解特征值和特征向量.雅可比迭代法的原理 ...

  6. warshall算法求传递闭包c++_【建模小课堂】图论算法

    图论算法 图论算法在计算机科学中扮演着很重要的角色,它提供了对很多问题都有效的一种简单而系统的建模方式.很多问题都可以转化为图论问题,然后用图论的基本算法加以解决.这类问题算法主要包括Dijkstra ...

  7. 图论 Warshall 和Floyd 矩阵传递闭包

    首先我们先说下图论,一般图存储可以使用邻接矩阵,或邻接表,一般使用邻接矩阵在稠密图比较省空间. 我们来说下有向图,一般的有向图也是图,图可以分为稠密图,稀疏图,那么从意思上,稠密图就是点的边比较多,稀 ...

  8. python求雅可比矩阵_雅可比算法求矩阵的特征值和特征向量

    目的 求一个实对称矩阵的所有特征值和特征向量. 前置知识 对于一个实对称矩阵\(A\),必存在对角阵\(D\)和正交阵\(U\)满足$$D=U^TAU$$\(D\)的对角线元素为\(A\)的特征值,\ ...

  9. 基于Warshall算法的连通图及欧拉图判定方法

    1736年欧拉解决了哥尼斯堡七桥问题.他在这一具体问题的基础上进一步研究,最终找到了一个简便的原则可以鉴别一个图(多重图)能否一笔画成. 本文中,笔者使用布尔矩阵来存储一个无向图,并结合集合论中&qu ...

最新文章

  1. shell命令之---LVM文件系统
  2. 第10课:优化神经网络——如何防止过拟合
  3. Swoole的全双工、半双工和单工
  4. rw data 、ro data 和 code详解
  5. 我是如何自学 Python 的,分享一下经验
  6. Java笔记-Spring Boot Webservice中对指定namespace及localpart进行拦截
  7. 重要!VALSE 2021确认参会及第二次【预注册】事宜的通知
  8. 进程信号(信号、信号的注册与注销、信号的处理方式)
  9. escape()、encodeURI()、encodeURIComponent()区别
  10. tinymce 编辑器 上传图片
  11. 百度媒体云播放器cyberplayer支持M3U8格式的HTML5播放器
  12. IB和A-Level哪个的含金量高?
  13. SCI论文撰写——Conclusion
  14. 物联网基础知识:IMSI号介绍与解析
  15. 达梦数据库安全管理与体系
  16. Intellij IDEA导入外部项目javax.servlet.http不存在
  17. 2015自然基金一审结果:项目申请的共性问题。
  18. 关于软件延时指定us(1T和12T)
  19. c++用Beep发出声音
  20. 离散数学-<集合论与图论>思维导图

热门文章

  1. 天津农学院2022年高职升本科拟招生专业的通知
  2. Relative Panel用法
  3. 水下摄影分层psd素材水下摄影分层psd素材图片素材
  4. aws dynamodb 使用awsapi和PartiQL掌握dynamodb的CRUD操作
  5. 快速理解 .bss、.data和.rodata
  6. 女大学生创业卖粽子,日营业额1500元
  7. 配置wifi为AP模式 -- 接入点hostapd基本配置
  8. 数控机床位置精度及标准(论文 CAD图纸 开题报告 任务书……)
  9. java语言中定义的字节输出流_Java语言中的输入输出流包括字节流、字符流、文件流、对象流以及线程之间通信的管道流,【 】包中的类...
  10. netlink: 返回消息的处理;NLM_F_DUMP_INTR;NLMSG_ERROR