目录

一、首先来看我自己的手工推导

二、代码实现,C语言代码。

三、总结

一、首先来看我自己的手工推导

自我感觉手工推导蛮有用的,推完一遍,大致理解了。代码也比较容易实现了。

二、代码实现,C语言代码。

为啥我这次用C呢,因为最近在学,哈哈哈。参考了一下别人的,自己写了一下。

#include<stdio.h>
#include<math.h>
#define N 4
int yuanjuzhen(int a[N][N])
{int i = 0,j = 0;for (i = 0;i < N;i++) {for (j = 0;j < N;j++){scanf("%d",&a[i][j]);if (a[i][j] != 0 && a[i][j] != 1)return 1;            }}return 0;
}
int chuandibibao(int a[N][N])
{int i = 0,j = 0;for (i = 0;i < N;i++) {for (j = 0;j < N;j++) {printf("%d  ",a[i][j]);}putchar('\n');}
}
int warshall(int a[][N])
{    //(1)i=1;//(2)对所有j如果a[j,i]=1,则对k=0,1,…,n-1,a[j,k]=a[j,k]∨a[i,k];//(3)i加1;//(4)如果i<n,则转到步骤2,否则停止int i = 0;int j = 0;int k = 0;for (i = 0;i < N;i++) {                  for (j = 0;j < N;j++) {if (a[j][i]) {for (k = 0;k < N;k++) {a[j][k] = a[j][k] | a[i][k];//逻辑加 ,还有离散老师讲的那个第i行甲第j行,送回第j行}} }}
}
int main()
{ int a[N][N] = {0};printf("please input a juzhen with %d * %d:\n",N,N);if (yuanjuzhen(a)){  printf("输入格式不对,只能是0或1!\n");return 1; //错误返回主函数,返回值为1; }warshall(a);chuandibibao(a);return 0;//正常返回主函数,返回值为0;
}

三、总结

还是要搞清楚算法,那样代码会比较好写,但是他其实也没有离开我们本来要算的方法。就是计算思维吧,还是。

Warshall算法求传递闭包相关推荐

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

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

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

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

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

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

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

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

  5. WarShall算法求矩阵传递闭包关系

    离散知识 给了你一个矩阵,你如何求他的传递闭包呢? //求出如下矩阵的传递闭包 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 ...

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

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

  7. Warshall 算法(离散数学传递闭包)

    Warshall 算法 算法思路: (1)先初始化一个二维数组 (2)利用循环输入N*N的矩阵 (3)进行矩阵的运算 M0的第0列的1和第0行进行逻辑加.比如[1,0]+[0,1]=[1,1]=1 M ...

  8. nyoj 211 (Floyd算法求传递闭包)

    Cow Contest 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, ...

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

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

  10. 离散数学中Warshall算法简析

    离散数学中Warshall算法简析 最近学了离散数学的图论,突然感觉离散数学的作用十分强大,相信学好离散数学中的算法,编程的魅力也不言而喻.闲话不多说,这篇博客中记录的是Warshall算法的简单解析 ...

最新文章

  1. (转)在Windows平台上安装Node.js及NPM模块管理
  2. TensorFlow高层次机器学习API (tf.contrib.learn)
  3. vs2010 调试窗口debugger UTF8 显示汉字 乱码
  4. 迁移.NET 1.0 应用到FX 2.0 –.NET评测网的工具箱
  5. 牛客网 在线编程 局部最小值位置
  6. 需求分析与建模最佳实践_社交媒体和主题建模:如何在实践中分析帖子
  7. Caffe + Ubuntu 15.04/16.04 + CUDA 7.5/8.0 在服务器上安装配置及卸载重新安装(已测试可执行)
  8. python 描述符类_python的黑魔法--描述符
  9. 安装不成功_win10+cuda10.1+cudnn+tensorflow1.15.0安装
  10. php远程下载头像,Laravel 项目中 远程把图片下载到本地
  11. FPGA IP核之FIFO
  12. error C4716 必须返回一个值 处理
  13. mysql2003错误如何解决_win7电脑提示数据错误循环冗余检查如何解决
  14. python-RFM模型
  15. TencentOS-Tiny之GCC
  16. java 二维卡尔曼滤波_卡尔曼滤波 – Kalman Filtering
  17. SAP UI5 Simple Form 属性 columnsL,columnsM,columnsXL 的属性深入剖析试读版
  18. 单片机七阶音符_单片机 演奏音符
  19. 霍尼韦尔摄像头ip地址修改_霍尼韦尔BA BNA设置
  20. java对台湾同胞身份证号码验证

热门文章

  1. Python程序设计题库
  2. 渗透测试报告模板_演习防守方总结模板写作公式
  3. java对接银联商务扫码支付(银联商务扫码支付文档)
  4. Pycharm破解版安装步骤
  5. Android模拟器加载自定义镜像
  6. 摄像头防水性能测试软件,手机摄像头防水测试/气密性检测方法分享
  7. 刚做微商引流太慢怎么办?微商没有客源怎么办,微商引流需要注意什么
  8. Windows 软件管理
  9. python 3.6 pyltp 安装
  10. RedHat 终端大小写不能切换问题