目录

一、原理

二、代码实现

三、运行结果


一、原理

在关系矩阵中,

自反闭包的主对角线元素全为1;

对称闭包的元素关于主对角线对称;

传递闭包使用warshall算法【离散数学(第2版)-屈婉玲等著   P129见详解】

二、代码实现

import copyL = []  # 建立空列表存放即将输入的矩阵
order = int(input())  # 输入矩阵的阶数for i in range(order):nums = list(map(int, input().split()))L.append(nums)  # 依次输入每行的数字 把矩阵形成二维列表 L[0]表示该矩阵第一行的数字def l_add(a, b):   # 逻辑加if a == 0 and b == 0:return 0else:return 1
def res_r(L):   # 自反闭包res_r = copy.deepcopy(L)for i in range(order):for j in range(order):if i == j:res_r[i][j] = 1for i in res_r:for j in i:print(j, end=' ')print()
def res_s(L):   # 对称闭包res_s = copy.deepcopy(L)for i in range(order):for j in range(order):if res_s[i][j] == 1:res_s[j][i] = 1for i in res_s:for j in i:print(j, end=' ')print()
def res_t(L):   # 传递闭包-warshall算法res_t = copy.deepcopy(L)for j in range(order):for i in range(order):if int(res_t[i][j]) == 1:for k in range(order):res_t[i][k] = l_add(int(res_t[i][k]), int(res_t[j][k]))for i in res_t:for j in i:print(j, end=' ')print()print("r(R):")
res_r(L)
print("s(R):")
res_s(L)
print("t(R):")
res_t(L)

注:

将一个列表赋值给另一个空列表,

在本代码中使用 list2 = list1[:] 或 list2=list1.copy() 在后续运算中均会改变原列表元素,

经查阅资料得,涉及到浅拷贝与深拷贝

本次代码使用了深拷贝,即 list2 = copy.deepcopy(list1)【需要import一下】

三、运行结果

离散数学:用python实现关系闭包的计算,即自反、对称与传递相关推荐

  1. 【Educoder离散数学实训】关系基础

    [Educoder离散数学实训]关系基础 题有点多,能聊的不多.有些题还是比较有价值的 就单独说几个题,代码放在最后.所有函数都改成自己写的了,没准比答案给的好读一点? T1 求给定集合的对角线关系( ...

  2. 全面对比 MATLAB、Julia、Python,谁在科学计算中更胜一筹?

    数百种编程语言,各有优劣,各自也都有自己最为适用的场景.那么就科学计算领域而言,主流的 MATLAB.Julia.Python 会有哪些最为独特的优势呢?又存在哪些让开发者无力的缺陷?在本文中,我们将 ...

  3. HDU3786 找出直系亲属【关系闭包】

    找出直系亲属 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  4. POJ3275 Ranking the Cows【关系闭包】

    Ranking the Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 3510 Accepted: 1608 Desc ...

  5. python扩展库用于科学计算的有哪些_数据科学必备的十大 Python 库

    ​Python 已成为当今使用最广泛的编程语言之一,尤其是在数据科学领域. Python 是一种高性能的语言,易于学习和调试,并且具有广泛的库支持.这些库都有自己独特的功能,一些专注于数据挖掘,一些专 ...

  6. python 对比matlab_全面对比 MATLAB、Julia、Python,谁在科学计算中更胜一筹?

    原标题:全面对比 MATLAB.Julia.Python,谁在科学计算中更胜一筹? 数百种编程语言,各有优劣,各自也都有自己最为适用的场景.那么就科学计算领域而言,主流的 MATLAB.Julia.P ...

  7. Python旅途休憩——闭包

    我要深刻反思一下,为什么最近几期的blog显得有一点点水而且风格诡谲了 都怪我找的那个Python网课,只开车不好好讲课! 所以深夜加班,重点谈一谈这个非常重要的内容--闭包 (尝试通过这次的讲解把P ...

  8. HDU1181 变形课【DFS+关系闭包+bitset】

    变形课 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submissi ...

  9. 用计算机解决线性代数,高等数学、线性代数、概率论与数理统计、离散数学与计算机的关系...

    高等数学.线性代数.概率论与数理统计.离散数学与计算机的关系 作者:钟炽贤 (广东第二师范学院计算机科学系,广东广州510800) 摘要: 高等数学.线性代数.概率论与数理统计.离散数学与计算机的关系 ...

最新文章

  1. Android加载大图片OOM异常解决
  2. 机器学习如何计算特征的重要性_干货 :机器学习中的特征工程总结
  3. 概率论面试系列第一弹: 贝叶斯公式
  4. swappiness
  5. 7 种 JavaScript 技巧使你更聪明
  6. 【OpenGL】详解第一个OpenGL程序
  7. 前端代码获取文件大小_vue技术栈前端建设方案
  8. “刘强东案”细节流出;小米或全球首发5G手机;罗永浩密会纳德拉;| 极客头条...
  9. 7月28日吃鸡端游服务器维护,绝地求生7月28日维护到什么时候结束
  10. 《统计学》第八版贾俊平第七章知识点总结及课后习题答案
  11. 雅思阅读真经总纲_雅思阅读用哪本书?五大热门雅思阅读书籍全面点评
  12. day 84 Vue学习四之过滤器、钩子函数、路由、全家桶等
  13. SpringCloud+CloudAlibaba微服务初阶入门
  14. html2canvas+canvas2image 做vue移动端页面海报
  15. 软考高项学习教程【第二阶段】:第7章-项目人力资源管理
  16. 【js html】对于img图片的引用填充,src可以给什么值?
  17. 基于STM32与ESP8266的太空人WiFi天气时钟(代码开源)
  18. 如何查询专利费减备案
  19. Vue Admin Plus、Vue Shop Vite 官网演示地址文档
  20. 秒懂云通信:短信也能玩出新花样?听阿里云产品运营畅聊“智能消息”服务

热门文章

  1. 微信V3APP支付2022,全网最新+踩坑(已实现)
  2. 毕业至今,微博写给自己的感悟的话
  3. 【无标题】解决“该项目不在请确认该项目位置,然后重试” 文件无法删除问题
  4. 三维可视化引擎 打造全息感知数字孪生智慧地铁站
  5. 途牛:一直被唱衰,就是没倒下
  6. 计算机辅助设计绘图员一级,计算机辅助设计绘图员(AUTO CAD)中级证简介
  7. 计算机上应用锁,电脑怎么设置软件锁
  8. emacs 基本配置
  9. Python PDF转Word,以及提取Word中图片里的文字
  10. 牛听听 总是获取音频流出错_如果被骚扰是女人的错 | 德国2分钟讽刺短片(双语视频)...