离散数学之集合论(上)
离散数学之集合论
文章目录
- 离散数学之集合论
- 使用的书籍
- 写作的目的
- 集合
- 概念
- 集合的基本性质
- 集合的表示
- 枚举法
- 叙述法
- 归纳法
- 递归指定集合法
- 文氏图解法
- 集合和元素的关系
- 集合与集合的关系
- 几个特殊的集合
使用的书籍
《离散数学及其应用》(第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丘克主页,欢迎来访!!!
离散数学之集合论(上)相关推荐
- 离散数学之集合论 【上】
离散数学之集合论[上] 一.集合基本概念 集合(set):做为整体识别的.确定的.互相区别的一些对象的总体. 〉 整体识别:不再分割 〉 确定:属于或者不属于整体 〉 互相区别:各异的对象 〉 集合的 ...
- 离散数学之集合论 【下】
离散数学之集合论 [下] 一.等价关系与划分 等价关系(equivalent relation)定义 〉 等价关系R定义为: 〉 A上的自反.对称.传递的二元关系 〉 xRx:xRy→yRx:xRy∧ ...
- 【离散数学】集合论 第三章 集合与关系(3) 集合计数的加法原理、容斥原理
本文属于「离散数学」系列文章之一.这一系列着重于离散数学的学习和应用.由于内容随时可能发生更新变动,欢迎关注和收藏离散数学系列文章汇总目录一文以作备忘.此外,在本系列学习文章中,为了透彻理解数学知识, ...
- 离散数学之集合论【中】
离散数学之集合论[中] 一.有序组 有序组 〉 元素的无序性是集合的特征之一,那么元素的有序组合又该如何从集合定义? 〉 二元有序组,又称二元组(2-tuple),或者序偶(ordered pairs ...
- 【离散数学】集合论 第四章 函数与集合(3) 鸽巢原理
本文属于「离散数学」系列文章之一.这一系列着重于离散数学的学习和应用.由于内容随时可能发生更新变动,欢迎关注和收藏离散数学系列文章汇总目录一文以作备忘.此外,在本系列学习文章中,为了透彻理解数学知识, ...
- 【离散数学】集合论基础
什么是集合? 集合 是由指定范围内的满足给定条件的所有对象聚集在一起构成,每一个对象称为这个集合的元素. 外延公理 + 空集存在公理 + 无序对公理 + 并集公理 + 幂集公理 + 无穷公理 +替换公 ...
- 离散数学-<集合论与图论>思维导图
<集合论与图论> 文章目录 <集合论与图论> 前言 一.集合基本概念与运算 二.映射(函数) 三.关系 四.无穷及基数 前言 思维导图由哈工大<集合论与图论>(姜守 ...
- 离散数学(1)---集合论
第一章 集合论初步 1.1 集合的基本概念 我们把一些不同的确定的对象的全体称为集合. 集合中元素的性质:确定性.互异性.无序性. 1.2 集合代数 集合代数就是指集合之间的 交,并,补,差 运算. ...
- 离散数学及其应用上的一个问题
书上7页 例题13:怎么样把下面的句子翻译成逻辑表达式? "除非你已经满16周岁,否则只要你身高不足4英尺就不能乘坐公园滑行铁道游乐车". 解:首先要分析这个命题什么时候为假或为真 ...
最新文章
- python 好用的库存尾货女装_女装店主:做尾货有人能赚大钱,新手千万别碰,文茵告诉你原因...
- js事件流、事件代理等
- 马斯克:全力支持狗狗币主要持有者出售货币 持仓太集中是问题
- Flink + Hudi 在 Linkflow 构建实时数据湖的生产实践
- 清华大学模拟电子技术视频教程
- STM32学习心得二十九:I2C通讯实验及相关代码解读
- 如何有效的屏蔽百度蜘蛛
- lammps建模技巧:msi2lmp转换data文件结构错位解决办法
- 风云岛行动电脑版模拟器使用体验报告
- 杭州卧兔全球首发2022海外网红营销白皮书
- 二次冲击港交所,手握宝可梦、游戏王的云涌控股困于IP依赖
- python3 scrapy爬取智联招聘存mongodb
- mount: special device /dev/vgdata/lv_ora does not exist,centos系统LV status状态为Not avaliable问题排查及处理
- ildasm.exe 查看c# dll 信息,符号 、函数等等
- 【实验报告】实验一 简单类的设计与应用
- 合并多个文件夹中的文件
- 【Day24 文献精读】Metaphoric structuring: understanding time through spatial metaphors
- 16广东各市人口数据(echarts)
- 在线音乐进入“人本主义”争夺时代
- java pattern 手机号_业余草 Java正则表达式,验证手机号和电话号码