离散数学之集合论

文章目录

  • 离散数学之集合论
    • 使用的书籍
    • 写作的目的
    • 集合
      • 概念
      • 集合的基本性质
      • 集合的表示
        • 枚举法
        • 叙述法
        • 归纳法
        • 递归指定集合法
        • 文氏图解法
      • 集合和元素的关系
      • 集合与集合的关系
      • 几个特殊的集合

使用的书籍

《离散数学及其应用》(第3版)傅彦等编著。

写作的目的

为了记录学习离散数学的过程。写下自己理解的离散数学,就是为了边学习边记录就比较有意思。个人水平有限,文章中有错误的地方,大家可以指出来。然后我主要写的也是我理解的,课本上的带一下就行,如果把课本上的也写下来,那你还不如直接看课本。

集合

英文单词是set。从高中的时候就认识了集合,那个时候的集合学得比较简单,现在到了大学,重新学习这个集合。其实也没多大差别。

概念

课本上的:

  • 集合是不能精确定义的基本数学概念
  • 集合是由指定范围内的满足给定条件的所有对象聚集在一起构成的

我自己理解的:

集合是一个数学容器,容器中存放的是有共同性质的元素。其中元素可以是数字也可以是其他物体。

例子:

等下遇到的容器说的都是集合,在我看来,集合就是容器,但是容器不一定是集合。毕竟是学过数据结构的,容器除了集合还有很多,比如链表,数组,栈,队列等,这些都是容器。

1)中国所有的真皮沙发

  • 现在就有一个容器,这个容器存放的是沙发,这种沙发具有的性质是(中国的,所有的,真皮的),三个性质取交集形成当前容器中沙发的性质

2)所有的海鸥

  • 现在有一个容器,这个容器存放的是海鸥,这种海鸥具有的性质是(所有的),也就是只要一个对象是海鸥,那这个对象就被包含在这个容器中

3)在-1和1之间的所有有理数

  • 理解一:现在有一个容器,这个容器存放的是有理数,这种有理数具有的性质是(所有在-1到1的区间中的),满足这一性质的有理数就可以放在同一个集合(容器)。
  • 理解二:现在有一个容器,这个容器存放的是数,这种数具有的性质是(所有在-1到1去区间中的,有理的),满足这一性质的数就可以放在同一个集合(容器)

4)全体亚洲人

  • 现在有一个容器,这个容器存放的是人,这种人具有的性质是(全体的,亚洲的),同时满足这两个性质的人就可以存放在一个集合中。

5)中国高等学校开设的所有课程

  • 现在有一个容器,这个容器存放的是课程,这种课程具有的性质是(中国的,高等学校的,开设的,所有的)。满足这几个性质的交集的课程就可以存放到一个容器中了。

6)天安门广场所有的路灯和树

  • 现在对象有两个,一个是路灯,一个是树,所以这里存在一个”或“的关系,也就是可以理解成现在有一大容器,大容器里面存放的是两个小容器,一个容器存放的是,在天安门所有的路灯;另一个容器存放的是天安门所有的树。然后这两个小容器取并集就是这个大容器了。

7)所有C语言中的标识符

  • 现在有一个容器,这个容器存放的是标识符,这种标识符的性质是(C语言的,所有的),C语言标识符的性质(英文字母和数字和下划线的组合,不能是数字开头,不能是系统预定义的),满足这些条件的标识符就可以放在同一个容器中。

8)全体素数

  • 现在有一个容器,这个容器存放的是数字,这种数字的性质是(全体的,满足因子只有1和自身的),满足这样性质的数字就是可以放在一个容器当中。

后面还有两个例子,和第8个差不多。

指定范围内的每一个对象称为这个集合的元素

一般使用英文字母大写表示集合,用英文字母小写表示元素。

集合的基本性质

这个在高中的时候就学过了的,如果忘了就当作是复习了,集合有三个基本性质:

  • 确定性
  • 互异性
  • 无序性

确定性说的就是,集合中的元素一定要是确定的,不能把一个不确定的东西放在集合中。

互异性说的就是,集合中的元素不重复,如果重复了就只保留其中的一个,其他的删掉。

无序性说的就是,集合中的元素没有顺序要求,数字类的可以从大到小排,也可以从小到大排,或者是乱七八糟的放,也行,一点问题没有。不是数字类的也是一样,爱怎么放就是怎么放,反正放了就是了。

集合的表示

表示集合有多种方法:课本上介绍了5种:

  • 枚举法
  • 叙述法
  • 归纳法
  • 递归指定集合法
  • 文氏图解法

枚举法

枚举法又被称为显示法。意思很明显了,就直接暴力枚举,如果能知道集合中的所有元素的的样子就直接一一列举出来。如果只是知道一部分,那就写出来几个然后看它们又什么规律,然后直接按规律写使用…表示当前集合中的元素们存在这样的规律。

例子:

1)A={a,b,c,d};

  • 因为集合A中就只有4个元素,元素是字母类型的,而且我们知道字母的样子,那就可以直接列举出来。

2)B={2,4,6,8,…,2n,…};

  • 因为集合B中的元素我们是可以知道规律的,但不知道有多少个。那就可以使用省略号的方式列举出来,告诉看的人,我这个集合是偶数,每个元素都是2的倍数。

从计算机的角度看,显示法是一种”静态“表示法。静态意味着比较占内存,栈区的内存是有限的,当前堆区的内存也是有限的,但是堆区的内存比栈区的大很多倍。

叙述法

通过刻画集合中元素所具备的某种特性来表示集合的方法称为叙述 法。

叙述法也被称为隐式法。

简单点说:叙述法就是对集合中的元素做一个描述,意为满足这一描述的元素属于该集合。

从定义中得,使用叙述法表达集合的写法:

集合名={元素|元素的描述}

例子:

1)M={m|m是美女}

  • 那就表示了,如果m是美女m就属于集合M。如果m不是美女就不属于集合M。再白话一点吧。现在规定Alice是美女,Jack是帅哥。那么把Alice代入m,就变成Alice是美女,满足,所以Alice属于集合M。把Jack代入m,就变成Jack是美女,不满足,因为前面已经规定Jacke是帅哥,所以Jack肯定不是美女了,所以Jack不属于集合M。

2)A={x|x是discrete mathematics中的所有字母}

  • 根据集合的互异性得集合A={d,i,s,c,r,e,t,m,a,h}.然后从外界代入元素x,如果x是r,那x就属于集合A,如果x是p,那x就不属于集合A。因为在集合A中r是属于A的,而p不属于A。

3)Z={x|x是一个整数}

  • 和第一例子一样,从外界代入,现在规定y=8,把y代入x,那就是判断y是不是一个整数,如果是,则y属于集合Z。如果不是,则y不属于集合Z。很明显y=8,8是整数,所以y属于集合Z。

上一个C语言代码:

#include <stdio.h>int isInt(double y)
{int a=(double)y;  //截取整数部分return y-a?0:1;     //原来的数减去它的整数部分,如果有剩余则不是整数,如果没剩余则是整数
}int main()
{double y;printf("请输入一个整数");scanf("%lf",&y);if(isInt(y))printf("%f是整数",y);elseprintf("%f不是整数",y);return 0;
}

叙述法的特点在于所表示的集合的元素可以是很多个或无穷个,而且从计算机的角度看,叙述法是一种”动态“的表示法,计算机处理数据的时候不用占据大量栈区的内存。

归纳法

归纳法是只通过归纳定义集合的方法,主要有以下三部分组成:

  • 基础,指出某些最基本的元素属于集合
  • 归纳,指出由基本元素构造新元素的方法
  • 极小性,指出该集合的界限

第一部分和第二部分指出的是一个集合至少要包含的元素,第三部分指出一个集合至多哟啊包含的元素。

多看一遍课本之后,我的理解是,由第一部分和第二部分确定元素大概长什么样之后,然后就一直循环组合这些大大小小的元素,然后就得到最终的集合是从一开始的一两个元素的组成的元素,到多个元素组合的元素。

就是你原来只有0和1,那么组合一次之后形成新的元素00,01,10,11,000,001,010,100等。然后到第三部分得出最终的集合结构为{0,1,00,10,01,11,000,001,010,100,011,110,111,0000,0001,…,…}.这样子的。这部分的也不知道对不对,如果错了就帮忙纠正一下。

递归指定集合法

递归指定集合法是指通过计算规则定义集合中的元素的方法

简单点说就是,确定前面的元素后,后面的元素和前面的元素存在一个特定关系,一直往后延申,总之就是前后存在一个特殊关系的集合表示法

例子:

a(0)=1,a(1)=2*a(0),a(2)=2*a(1),…a(n)=2*a(n-1),n>1,S={a(0),a(1),a(2),…,};试着写出集合S的所有元素。事实上写完是不可能的,只能通过枚举法显示。根据数列的规律得集合S={1,2,4,8,…,2^n,…} (n>=0)

文氏图解法

就是高中所学的韦恩图。就是将集合区域化,使用图形描述出来。一般使用方形和椭圆形画集合,然后在大集合里面又有小集合这种类型的表示方法就是文氏图解法。

集合和元素的关系

元素和集合之间的”属于“关系是”明确的“。

对于某个集合A和元素a来说,只有a属于A,或者a不属于A,两个说法。

  • a属于A记作:a∈A

  • a不属于A记作:a∉A

在离散数学中,仅仅对界限清楚、无二义性的描述进行讨论,而由不清楚的对下个构造的集合属于模糊集合论的研究范畴。

集合与集合的关系

相等关系:如果两个集合的元素是一样的,则这两个集合是相等的。

包含与被包含关系:如果集合A的元素在集合B中都能找到得到,则说明集合A是集合B的子集。这个时候是B包含A或者说A含于B。在B包含A的前提下,如果A不包含B,则说明A是B的子集,但B不是A的子集;如果A包含B,则说明A和B相互包含,则这两个集合是相等的。

真子集:设A,B是任意的集合,如果A包含B,并且A不等于B,则B是A的真子集。

几个特殊的集合

空集:

不含有任何元素的集合称为空集。记作∅

空集是客观存在的

例子:

设A={x|x∈R且x^2<0}

因为在实数范围内,x的平方肯定是大于等于零的,不肯小于零,所以集合A为空集。

定理:

  • 空集是一切集合的子集
  • 空集是唯一的

全集:

在一个相对固定的范围内,包含此范围内所有元素的集合,称为集合。

定理:

全集是相对唯一的

因为全集本来的意思所的就是全部包含的意思,但是全集的范围却是人为规定的,你说地球是全集,那整个银河系是什么?如果你说银河系是全集,那整个宇宙是什么?宇宙外面还有更大的空间。依次类推。所以全集是相对来说的。

基数:

集合A中的元素个数称为集合的基数,记作|A|

这个好理解,就是相当于数组长度一样。集合中有多少个元素|集合名|就有多少。

public class Demo{public static void main(String[] args){int[] arr={5,2,4,63,4,6};      //有6个元素System.out.println(arr.length);  //输出6}
}

如果一个集合的基数是有限的,则称该集合是有限集。

如果一个集合的基数是无限的,则称该集合是无限的。

例子:

1)A=∅;

  • |A|=0,因为空集是不包含任何元素的集合,所以空集的基数为零,所以A的基数为零。

2)B={∅};

  • |B|=1,因为B集合是包含空集这个元素,所以B的基数为1。

注意这两个题,挺重要的概念,思路要理得过来。

3)C={a,b,c};

  • |C|=3,因为C有三个元素

4)D={a,{b,c}};

  • |D|=2,由后面的{b,c}可以推断得出,集合D存放的元素是集合。所以a也当作是集合,所以D的基数为2

定义:

如果一个集合A含有n个元素,则称集合A为n元集,称A的含有m个元素(m<=n)的子集为它的m元子集。

设A为任意集合,把集合A的所有不同的子集构成的集合称为A的幂集。

符号化:P(A)={x|x⊆A}

例子:

1)P(∅)

  • p(∅)={∅},因为空集没有子集了

2)p({∅})

  • p(∅)={∅,{∅}},因为{∅}也是一个含有∅的集合,它的基数为1,它的子集是空集,而{∅}本身也是p(∅)的子集,所以p(∅)的幂集显而易见。

3)p(a,{b,c})

  • p(a,{b,c})={{a},{b},{c},{b,c},{a,{b,c}}},把内部的拆开。a变成{a};{b,c}可以拆成{b},{c};然后最后和起来,记得把拆的子集的本身也要加过来。

Cukor丘克主页,欢迎来访!!!

离散数学之集合论(上)相关推荐

  1. 离散数学之集合论 【上】

    离散数学之集合论[上] 一.集合基本概念 集合(set):做为整体识别的.确定的.互相区别的一些对象的总体. 〉 整体识别:不再分割 〉 确定:属于或者不属于整体 〉 互相区别:各异的对象 〉 集合的 ...

  2. 离散数学之集合论 【下】

    离散数学之集合论 [下] 一.等价关系与划分 等价关系(equivalent relation)定义 〉 等价关系R定义为: 〉 A上的自反.对称.传递的二元关系 〉 xRx:xRy→yRx:xRy∧ ...

  3. 【离散数学】集合论 第三章 集合与关系(3) 集合计数的加法原理、容斥原理

    本文属于「离散数学」系列文章之一.这一系列着重于离散数学的学习和应用.由于内容随时可能发生更新变动,欢迎关注和收藏离散数学系列文章汇总目录一文以作备忘.此外,在本系列学习文章中,为了透彻理解数学知识, ...

  4. 离散数学之集合论【中】

    离散数学之集合论[中] 一.有序组 有序组 〉 元素的无序性是集合的特征之一,那么元素的有序组合又该如何从集合定义? 〉 二元有序组,又称二元组(2-tuple),或者序偶(ordered pairs ...

  5. 【离散数学】集合论 第四章 函数与集合(3) 鸽巢原理

    本文属于「离散数学」系列文章之一.这一系列着重于离散数学的学习和应用.由于内容随时可能发生更新变动,欢迎关注和收藏离散数学系列文章汇总目录一文以作备忘.此外,在本系列学习文章中,为了透彻理解数学知识, ...

  6. 【离散数学】集合论基础

    什么是集合? 集合 是由指定范围内的满足给定条件的所有对象聚集在一起构成,每一个对象称为这个集合的元素. 外延公理 + 空集存在公理 + 无序对公理 + 并集公理 + 幂集公理 + 无穷公理 +替换公 ...

  7. 离散数学-<集合论与图论>思维导图

    <集合论与图论> 文章目录 <集合论与图论> 前言 一.集合基本概念与运算 二.映射(函数) 三.关系 四.无穷及基数 前言 思维导图由哈工大<集合论与图论>(姜守 ...

  8. 离散数学(1)---集合论

    第一章 集合论初步 1.1 集合的基本概念 我们把一些不同的确定的对象的全体称为集合. 集合中元素的性质:确定性.互异性.无序性. 1.2 集合代数 集合代数就是指集合之间的 交,并,补,差 运算. ...

  9. 离散数学及其应用上的一个问题

    书上7页 例题13:怎么样把下面的句子翻译成逻辑表达式? "除非你已经满16周岁,否则只要你身高不足4英尺就不能乘坐公园滑行铁道游乐车". 解:首先要分析这个命题什么时候为假或为真 ...

最新文章

  1. python 好用的库存尾货女装_女装店主:做尾货有人能赚大钱,新手千万别碰,文茵告诉你原因...
  2. js事件流、事件代理等
  3. 马斯克:全力支持狗狗币主要持有者出售货币 持仓太集中是问题
  4. Flink + Hudi 在 Linkflow 构建实时数据湖的生产实践
  5. 清华大学模拟电子技术视频教程
  6. STM32学习心得二十九:I2C通讯实验及相关代码解读
  7. 如何有效的屏蔽百度蜘蛛
  8. lammps建模技巧:msi2lmp转换data文件结构错位解决办法
  9. 风云岛行动电脑版模拟器使用体验报告
  10. 杭州卧兔全球首发2022海外网红营销白皮书
  11. 二次冲击港交所,手握宝可梦、游戏王的云涌控股困于IP依赖
  12. python3 scrapy爬取智联招聘存mongodb
  13. mount: special device /dev/vgdata/lv_ora does not exist,centos系统LV status状态为Not avaliable问题排查及处理
  14. ildasm.exe 查看c# dll 信息,符号 、函数等等
  15. 【实验报告】实验一 简单类的设计与应用
  16. 合并多个文件夹中的文件
  17. 【Day24 文献精读】Metaphoric structuring: understanding time through spatial metaphors
  18. 16广东各市人口数据(echarts)
  19. 在线音乐进入“人本主义”争夺时代
  20. java pattern 手机号_业余草 Java正则表达式,验证手机号和电话号码

热门文章

  1. 互联网早报:腾讯搜狗即将完成初步整合:搜狗核心团队并入腾讯看点,王小川未来或离任
  2. 2021年T电梯修理考试及T电梯修理模拟考试题库
  3. 计算机协会电脑维修策划背景,关于志愿维修电脑的活动策划书
  4. Be Free - Belinda
  5. 2017华为软件精英挑战赛总结
  6. SQL Server 2012 修改数据库属性
  7. 贝索斯、比尔盖茨和库克认为你应该阅读的7本书
  8. MySQL-day03
  9. Java可变参数(C语言对比向)
  10. 组长让我用java定时爬取网页资源?简单啦(附实战源码)