目录

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

想说的话

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

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

方便起见,就以下图为例。关系为
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. Swift 中的内存管理详解
  2. asio 异步demo
  3. 用Format创建格式化对象举例
  4. 交公粮了:国庆在家我都逛哪些技术网站?
  5. java的scanner的方法_Java Scanner reset()方法
  6. Leetcode--523. 连续的子数组和
  7. 新华三的背景_星际联盟一行莅临新华三集团杭州总部,展望分布式存储广阔发展空间...
  8. [爬虫练习]爬取同程安全应急响应公开漏洞列表以及详情
  9. python爬虫源代码_【Python每日一问】Python爬虫能做什么?
  10. 使用 ftrace 调试 Linux 内核,第 1 部分【转】
  11. C语言中的除法运算符( /)
  12. python 3d重建_python三维重建
  13. TCP三次握手中SYN,ACK,Seq三者的关系
  14. BZOJ 3772: 精神污染
  15. Python画玫瑰花源码
  16. 为什么说OKRS-E是适合的OKR框架
  17. Ubuntu下载功能包时出现:检验数字签名时出错,此仓库未被更新,所以仍然使用此前的索引文件的解决办法
  18. redis源码注释二:简单字符串sds.c sds.h
  19. 计算机高水平竞赛,计算机科学技术学院学子在中国高校计算机大赛——网络技术挑战赛中取得优异成绩...
  20. 工作半年后的一点感悟

热门文章

  1. 恩智浦智能车竞赛电磁直立组国一之速墨二队2018回顾与总结
  2. Java 2实用教程(第5版)实验指导与习题解答 第4章-类与对象
  3. 遇到流氓软件不要慌,一篇文章帮您完全清理
  4. VMware虚拟机安装Windows XP学习教程
  5. ORA-20011 ORA-29913 KUP-11024问题处理
  6. 浅谈LANG_ISO 639-1世界语言列表检索
  7. 摩云ktv点歌系统服务器,摩云ktv点歌服务器系统更新
  8. 2021年末爆发 Log4j 的史诗级Bug漏洞?5分钟教你如何手把手实现
  9. python尔雅答案_2020尔雅通识课Python》程序设计查题公众
  10. 快速学会CC2530单片机基础点灯