目录

  • 想说的话
  • 自反闭包
  • 对称闭包
  • 传递闭包
  • 练习题

想说的话

完全不废话,谁都能懂 φ(>ω<*)

只关注如何求关系闭包,不讲原理,因为懒(不是)

方便起见,就以下图为例。关系为
R={⟨1,1⟩,⟨1,2⟩,⟨3,1⟩}R=\lbrace\langle1,1\rangle,\langle1,2\rangle,\langle3,1\rangle\rbrace R={⟨1,1⟩,⟨1,2⟩,⟨3,1⟩}

自反闭包

将没有环的结点加上环。

例题中结点111有环,结点2,32,32,3无环,因此将结点2,32,32,3加上环即可。

对称闭包

将只有一条边相连的两个结点之间加上一条相反的边。

结点1,21,21,2之间和结点1,31,31,3之间只有一条边相连,因此各加上一条相反的边即可。

传递闭包

就像抄近道一样,将通过两条及以上的边相连的结点连起来。

结点2,32,32,3以 3→1→23\to1\to23→1→2的路径相连,因此只要加上路径 3→23\to23→2 即可。

注意一种特殊情况:若存在1→2→11\to2\to11→2→1的情况,需要连接 1→11\to11→1 ,即将结点111连环,同理,结点2连环。

练习题

分别求出以下三个关系中的自反闭包、对称闭包和传递闭包。

关系一:

设关系二:R={⟨a,a⟩,⟨b,b⟩,⟨b,c⟩,⟨c,b⟩}R=\lbrace\langle a,a\rangle,\langle b,b\rangle,\langle b,c\rangle,\langle c,b\rangle\rbraceR={⟨a,a⟩,⟨b,b⟩,⟨b,c⟩,⟨c,b⟩}

关系三:

答案:

关系一:
r(R)={⟨1,1⟩,⟨2,2⟩,⟨3,3⟩,⟨1,2⟩,⟨2,1⟩,⟨2,3⟩,⟨3,1⟩}r(R)=\lbrace\langle 1,1\rangle,\langle 2,2\rangle,\langle 3,3\rangle,\langle 1,2\rangle,\langle 2,1\rangle,\langle 2,3\rangle,\langle 3,1\rangle\rbracer(R)={⟨1,1⟩,⟨2,2⟩,⟨3,3⟩,⟨1,2⟩,⟨2,1⟩,⟨2,3⟩,⟨3,1⟩}
s(R)={⟨1,1⟩,⟨2,2⟩,⟨1,2⟩,⟨2,1⟩,⟨2,3⟩,⟨3,2⟩,⟨1,3⟩,⟨3,1⟩}s(R)=\lbrace\langle 1,1\rangle,\langle 2,2\rangle,\langle 1,2\rangle,\langle 2,1\rangle,\langle 2,3\rangle,\langle 3,2\rangle,\langle 1,3\rangle,\langle 3,1\rangle\rbraces(R)={⟨1,1⟩,⟨2,2⟩,⟨1,2⟩,⟨2,1⟩,⟨2,3⟩,⟨3,2⟩,⟨1,3⟩,⟨3,1⟩}
t(R)={⟨1,1⟩,⟨2,2⟩,⟨1,2⟩,⟨2,1⟩,⟨2,3⟩,⟨3,2⟩,⟨1,3⟩,⟨3,1⟩}t(R)=\lbrace\langle 1,1\rangle,\langle 2,2\rangle,\langle 1,2\rangle,\langle 2,1\rangle,\langle 2,3\rangle,\langle 3,2\rangle,\langle 1,3\rangle,\langle 3,1\rangle\rbracet(R)={⟨1,1⟩,⟨2,2⟩,⟨1,2⟩,⟨2,1⟩,⟨2,3⟩,⟨3,2⟩,⟨1,3⟩,⟨3,1⟩}
关系二:
r(R)={⟨a,a⟩,⟨b,b⟩,⟨b,c⟩,⟨c,b⟩,⟨c,c⟩}r(R)=\lbrace\langle a,a\rangle,\langle b,b\rangle,\langle b,c\rangle,\langle c,b\rangle,\langle c,c\rangle\rbracer(R)={⟨a,a⟩,⟨b,b⟩,⟨b,c⟩,⟨c,b⟩,⟨c,c⟩}
s(R)={⟨a,a⟩,⟨b,b⟩,⟨b,c⟩,⟨c,b⟩}s(R)=\lbrace\langle a,a\rangle,\langle b,b\rangle,\langle b,c\rangle,\langle c,b\rangle\rbraces(R)={⟨a,a⟩,⟨b,b⟩,⟨b,c⟩,⟨c,b⟩}
t(R)={⟨a,a⟩,⟨b,b⟩,⟨c,c⟩,⟨b,c⟩,⟨c,b⟩}t(R)=\lbrace\langle a,a\rangle,\langle b,b\rangle,\langle c,c\rangle,\langle b,c\rangle,\langle c,b\rangle\rbracet(R)={⟨a,a⟩,⟨b,b⟩,⟨c,c⟩,⟨b,c⟩,⟨c,b⟩}
关系三:
r(R)={⟨a,a⟩,⟨b,b⟩,⟨c,c⟩,⟨a,b⟩}r(R)=\lbrace\langle a,a\rangle,\langle b,b\rangle,\langle c,c\rangle,\langle a,b\rangle\rbracer(R)={⟨a,a⟩,⟨b,b⟩,⟨c,c⟩,⟨a,b⟩}
s(R)={⟨a,a⟩,⟨a,b⟩,⟨b,a⟩}s(R)=\lbrace\langle a,a\rangle,\langle a,b\rangle,\langle b,a\rangle\rbraces(R)={⟨a,a⟩,⟨a,b⟩,⟨b,a⟩}
t(R)={⟨a,a⟩,⟨a,b⟩}t(R)=\lbrace\langle a,a\rangle,\langle a,b\rangle\rbracet(R)={⟨a,a⟩,⟨a,b⟩}

有任何错误欢迎指出(〃‘▽’〃)

根据关系图非常简单的求出三种关系闭包(自反闭包、对称闭包、传递闭包)附练习题相关推荐

  1. MySql数据库三种关系详解

    如何分辨三种关系,以及三种关系的图列对比. 1.分析三种关系. 是否左表的多条记录可以对应右表的一条记录,是,则证明左表的一个字段 关联(foreign key)右表的一个字段(通常为ID) 是否右表 ...

  2. 使用类求出三个长方体的体积

    内容:使用类求出三个长方体的体积 目的:初步掌握类和对象 程序代码: /* * 程序的版权和版本声明部分: * Copyright (c) 2013, 烟台大学计算机学院 * All rights r ...

  3. python 全栈开发,Day62(外键的变种(三种关系),数据的增删改,单表查询,多表查询)...

    一.外键的变种(三种关系) 本节重点: 如何找出两张表之间的关系 表的三种关系 一.介绍 因为有foreign key的约束,使得两张表形成了三种了关系: 多对一 多对多 一对一 二.重点理解如果找出 ...

  4. Mysql -- 外键的变种 三种关系

    一.介绍 因为有foreign  key的约束,  使得两张表形成了三种关系 多对一      多对多   一对一 二.如果找出两张表之间的关系 #1.先站在左表的角度去找 是否左表的多条记录可以对应 ...

  5. (转)Hibernate关联映射——对象的三种关系

    http://blog.csdn.net/yerenyuan_pku/article/details/70148618 Hibernate关联映射--对象的三种关系 Hibernate框架基于ORM设 ...

  6. Hibernate关联映射-数据对象三种关系

    Hibernate框架基于ORM设计思想,它将关系型数据库中的表与我们java中的类进行映射,一个对象就对应着表中的一条记录,而表中的字段对应着类中的属性. 数据库中表与表之间存在着三种关系,也就是系 ...

  7. SQL外键foreign key 表与表之间的三种关系

    表与表之间的三种关系 多对一关系表 注意事项: 一对多表关系,外键字段建在多的一方. 在创建表的时候,一定要先建被关联表. 在录入数据的时候,也必须先录入被关联表. 删除 一定要先删除主键表,才可以删 ...

  8. c#输入三个数选出最大的_用C#求出三个数的最大值

    今天我们来讲一下,求三个数中,最大一个数的实例,首先这里引用System命名空间.其次,这里创建了一个Test类,接下来,就是在主方法用创建x.y.z这三个变量用于存储三个数值:然后在控制台上提示输入 ...

  9. C语言使用1到9求出所有k个数字的所有组合的算法(附完整源码)

    C语言使用1到9求出所有k个数字的所有组合的算法 C语言使用1到9求出所有k个数字的所有组合的算法完整源码(定义,实现,main函数测试) C语言使用1到9求出所有k个数字的所有组合的算法完整源码(定 ...

  10. C语言:水仙花数(daffodil),求出三位数中所有水仙花数

    水仙花数(C语言) 文章目录 水仙花数(C语言) 前言 一.题目 二.解题思路 代码 运行结果 总结 ***根据水仙花数满足的条件找出需要求的对象,这里是各位上的位数.*** 前言 刘汝佳算法书< ...

最新文章

  1. 汇编 Irvine32链接库中一些过程函数的使用说明
  2. ERP通用存储过程封装(三)
  3. es6 Promise.all()方法
  4. 云计算-大数据-云安全高等教育改革示范教材
  5. Microsoft Excel常用操作
  6. jQuery中的live绑定多个事件整理
  7. 上海联影医疗公司软件开发工程师面试经历
  8. 【微信小游戏开发 一】项目调研
  9. Apple PUSH Notication Service (APNS) 配置攻略
  10. 读书百客:《嘲鲁儒》赏析
  11. 可用于保健食品的中药名单,卫生部关于进一步规范保健食品原料管理的通知...
  12. Erlang开源20周年:这门编程语言见证了互联网的技术成长
  13. 笔记本屏幕颜色校证,有效解决屏幕发白、刺眼问题
  14. 笔记本换固态硬盘-华硕K555L
  15. Android自定义view之网易云推荐歌单界面
  16. VB6 简单实现 支付宝二维码扫马支付
  17. unity 2d文字跟随主角移动_使用 Unity 粒子系统实现 2D 人物足迹效果
  18. 一程序员被网恋女友诈骗1.8万,警方调查“女友”后发现竟是...
  19. 建立个人网盘,乌版图安装updog
  20. html异步加载图片,javascript-img异步加载图片

热门文章

  1. 微信浏览器中唤醒App
  2. 组态王串口服务器虚拟串口,串口服务器通过modbus TCP连接组态王实例
  3. 野火Linux内核,ebf_6ull_linux
  4. Java黑皮书课后题第6章:*6.7(金融应用:计算未来投资回报率)编写一个方法,计算按照给定的年数和利率计算未来投资回报值,未来投资回报值是用编程练习题2.21中的公式得到的,使用下面方法头
  5. 没想到,拼多多竟然想用AI种草莓给我吃
  6. OSError: cannot open resource
  7. IEEE 中 LaTeX在作者后面加上ORCID标志和链接
  8. 河南城建学院计算机学院排名,河南城建学院2019年度“读书之星”评选结果公示...
  9. Pytorch与Tensorflow权重互转
  10. 接口工具POSTMAN怎么设置中文