离散数学:用python实现关系闭包的计算,即自反、对称与传递
目录
一、原理
二、代码实现
三、运行结果
一、原理
在关系矩阵中,
自反闭包的主对角线元素全为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实现关系闭包的计算,即自反、对称与传递相关推荐
- 【Educoder离散数学实训】关系基础
[Educoder离散数学实训]关系基础 题有点多,能聊的不多.有些题还是比较有价值的 就单独说几个题,代码放在最后.所有函数都改成自己写的了,没准比答案给的好读一点? T1 求给定集合的对角线关系( ...
- 全面对比 MATLAB、Julia、Python,谁在科学计算中更胜一筹?
数百种编程语言,各有优劣,各自也都有自己最为适用的场景.那么就科学计算领域而言,主流的 MATLAB.Julia.Python 会有哪些最为独特的优势呢?又存在哪些让开发者无力的缺陷?在本文中,我们将 ...
- HDU3786 找出直系亲属【关系闭包】
找出直系亲属 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- POJ3275 Ranking the Cows【关系闭包】
Ranking the Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 3510 Accepted: 1608 Desc ...
- python扩展库用于科学计算的有哪些_数据科学必备的十大 Python 库
Python 已成为当今使用最广泛的编程语言之一,尤其是在数据科学领域. Python 是一种高性能的语言,易于学习和调试,并且具有广泛的库支持.这些库都有自己独特的功能,一些专注于数据挖掘,一些专 ...
- python 对比matlab_全面对比 MATLAB、Julia、Python,谁在科学计算中更胜一筹?
原标题:全面对比 MATLAB.Julia.Python,谁在科学计算中更胜一筹? 数百种编程语言,各有优劣,各自也都有自己最为适用的场景.那么就科学计算领域而言,主流的 MATLAB.Julia.P ...
- Python旅途休憩——闭包
我要深刻反思一下,为什么最近几期的blog显得有一点点水而且风格诡谲了 都怪我找的那个Python网课,只开车不好好讲课! 所以深夜加班,重点谈一谈这个非常重要的内容--闭包 (尝试通过这次的讲解把P ...
- HDU1181 变形课【DFS+关系闭包+bitset】
变形课 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submissi ...
- 用计算机解决线性代数,高等数学、线性代数、概率论与数理统计、离散数学与计算机的关系...
高等数学.线性代数.概率论与数理统计.离散数学与计算机的关系 作者:钟炽贤 (广东第二师范学院计算机科学系,广东广州510800) 摘要: 高等数学.线性代数.概率论与数理统计.离散数学与计算机的关系 ...
最新文章
- Android加载大图片OOM异常解决
- 机器学习如何计算特征的重要性_干货 :机器学习中的特征工程总结
- 概率论面试系列第一弹: 贝叶斯公式
- swappiness
- 7 种 JavaScript 技巧使你更聪明
- 【OpenGL】详解第一个OpenGL程序
- 前端代码获取文件大小_vue技术栈前端建设方案
- “刘强东案”细节流出;小米或全球首发5G手机;罗永浩密会纳德拉;| 极客头条...
- 7月28日吃鸡端游服务器维护,绝地求生7月28日维护到什么时候结束
- 《统计学》第八版贾俊平第七章知识点总结及课后习题答案
- 雅思阅读真经总纲_雅思阅读用哪本书?五大热门雅思阅读书籍全面点评
- day 84 Vue学习四之过滤器、钩子函数、路由、全家桶等
- SpringCloud+CloudAlibaba微服务初阶入门
- html2canvas+canvas2image 做vue移动端页面海报
- 软考高项学习教程【第二阶段】:第7章-项目人力资源管理
- 【js html】对于img图片的引用填充,src可以给什么值?
- 基于STM32与ESP8266的太空人WiFi天气时钟(代码开源)
- 如何查询专利费减备案
- Vue Admin Plus、Vue Shop Vite 官网演示地址文档
- 秒懂云通信:短信也能玩出新花样?听阿里云产品运营畅聊“智能消息”服务
热门文章
- 微信V3APP支付2022,全网最新+踩坑(已实现)
- 毕业至今,微博写给自己的感悟的话
- 【无标题】解决“该项目不在请确认该项目位置,然后重试” 文件无法删除问题
- 三维可视化引擎 打造全息感知数字孪生智慧地铁站
- 途牛:一直被唱衰,就是没倒下
- 计算机辅助设计绘图员一级,计算机辅助设计绘图员(AUTO CAD)中级证简介
- 计算机上应用锁,电脑怎么设置软件锁
- emacs 基本配置
- Python PDF转Word,以及提取Word中图片里的文字
- 牛听听 总是获取音频流出错_如果被骚扰是女人的错 | 德国2分钟讽刺短片(双语视频)...