【离散数学】单射、满射与双射

【离散数学】单射、满射与双射本文目录1、什么是映射?1、什么是映射?我们考虑这样的关系:对于集合X中的每一个元素,都有唯一的属于集合Y中的元素被其所指向,我们就称这样的关系叫映射(英:mapping,日:写像(しゃぞう))。这是用很通俗的语言解释定义的映射,而相信大家也都在高中数学必修1里面学过,对映射这个概念想必也都不陌生吧!从这个定义中,你能get到什么信息呢?①“X集合中的每一个元素”:如果有集合X的元素不对应集合Y的某个元素的,则不是映射。②“都有唯一的Y与之对应”:如果有集合X的元素同时指向了集合Y中的两个以上个元

大家好,又见面了,我是你们的朋友全栈君。

1、什么是映射?

我们考虑这样的关系:对于集合X中的每一个元素,都有唯一的属于集合Y中的元素被其所指向,我们就称这样的关系叫映射(英:mapping,日:写像(しゃぞう))。这是用很通俗的语言解释定义的映射,而相信大家也都在高中数学必修1里面学过,对映射这个概念想必也都不陌生吧!
从这个定义中,你能get到什么信息呢?
①“X集合中的每一个元素”:如果有集合X的元素不对应集合Y的某个元素的,则不是映射。
②“都有唯一的Y与之对应”:如果有集合X的元素同时指向了集合Y中的两个以上个元素的,则不是映射。

因此,要进入到对今天的主题——单射、满射与双射的区分,首先你得判断,是不是集合X中的所有元素都指向,且只指向了集合Y当中的一个元素呢?只有if(判定的结果==true)时,我们才可以进行下一步的区分判断;else,它连映射都不是,还判断个什么呢?
这就好比,如果说你是一个高三的学生,你连高一年级都不属于,还要去问你是不是高一(7)班的吗?

小结:如果两个集合各自的元素之间的指向关系满足以下两个条件,它就是一个映射关系。此时方可进一步判断,它具体是哪一种映射了。
(1)集合X中的所有元素均有指向集合Y中的某元素,而没有谁不指向的;
(2)集合X中的所有元素均只指向了集合Y中的一个元素,而没有谁指向两个或更多的。

2、映射的分类

2.1 单射

所有被X里的元素指向的Y里的元素,都是只被一个X的元素所指向的,而没有被两个或更多X的元素所指向,那么这种映射关系就叫单射(英:injection,日:単射(たんしゃ))。
单射不考虑是否Y当中的所有元素都无一遗漏地被X的元素所指向了。也可以有Y的元素不被任何X的元素所指向,不影响它是单射。

举个例子。

就比如说看电影吧。有“观众”(X)和“座位”(Y)两个集合。现在我们知道,每一个观众必然会坐在一个座位上,并且他只坐在一个座位上,所以这个对应关系首先是个映射
又因为每张座位只可被一个观众所对应,不可能一张座上坐两个人,且不是所有座位都一定有观众与之对应的,也可能会有空座位,所以这个对应关系是一种单射关系。

在这里插入图片描述
观众与电影院座位(单射):
①要么没人坐;
②要么只有一个人坐。
(要么不被任何观众所指向,要么只被一个观众所指向)

2.2 满射

Y集合里的所有元素均被X里的元素所指向,集合Y中没有任何一个元素不被集合X的元素所指向的,那么这种映射关系就叫满射(英:surjection,日:全射(ぜんしゃ))。
满射不考虑指向同一个Y的有多少个X。只要所有的Y都被指向到了,就是满射。

再举个例子。

比如说班上分小组吧。每个组至少有一个人,否则就不构成一个组(它就不存在)。那么,每个学生都属于且只属于一个组,这首先是映射。又因为每个组必然包含至少一个学生,也可能有多个学生,所以,“学生”集合(X)与“小组”集合(Y)之间的关系,就是一种满射关系。
在这里插入图片描述

学生与分组(满射):
①要么分组不存在;
②只要存在这个分组,它就一定被一个或多个学生所指向。

2.3 双射

既是单射,又是满射的映射,就叫做双射(英:bijection,日:全単射(ぜんたんしゃ))。
“所有Y中的元素均被X中的元素所指向,且只被X的一个元素所指向。没有不被指向的,也没有被两个或更多X的元素所指向的。”

举个例子。

最典型的,“学生”(X)与其“学生证号码”(Y)。每个学生都必然有且只有一个学生证号,所以这首先是映射。又因为,每个学生证号码都必然被且只被一个学生所指向,没有不被任何学生指向的学生证号码(它是满射),也没有同时被多个学生指向的学生证号码(它也是单射),所以,这个映射关系是一种双射关系。

在这里插入图片描述
学生与学生证号码(双射):
一一对应,互为在彼此的集合里有且只有对方一个与自己相对应的元素。

2.4 既非单射也非满射,但为映射

还有一种映射关系,既不是单射也不是满射。Y中有元素没被X的元素所指向,而被指向的Y的元素,也不是所有都只被一个X元素所指向(存在被多个X元素指向的)。

举个例子。

比如围棋比赛吧。有“棋手”(X)和“棋盘”(Y)两个集合。一个棋手在且只在一个棋盘上下棋,一个棋盘上却有两个棋手。但是,并不是所有的棋盘都会有棋手的。比如,有3个棋盘,却只有4位棋手,那么,必然有一个棋盘是空的,不被任何棋手所指向。
每一个棋手指向且仅指向一个棋盘,这是映射。但是,既不是每个棋盘都必被棋手所指向,也不是每个被指向的棋盘都无一例外只被一个棋手所指向的,所以这种映射关系,既不是满射,也不是单射

在这里插入图片描述

3、你掌握了吗?

你学废了吗?来,来,来,拿出你的小本本和笔,做两道题来练一下吧!
在这里插入图片描述
一共有六道题。写出两个集合之间是否存在映射关系,如果存在,写出是哪一种映射关系。
要求:从“单射而非满射”、“满射而非单射”、“双射”、“不是单射也不是满射”、“不是映射”中选词作答。

答案将会在评论区公布。

4、心得

我又听见了那句上学时经常听到的问题:“我知道这个有什么用?我买菜需要用到它吗?”
嗯,你买菜当然不会用到它,你不会跟摊主说,你这菜和你人之间有什么映射关系。
但是,比如说,你在设计数据库的时候,就可以和同一个组的小伙伴讨论道,“这个字段应该是主键。因为它值的集合与这个表中记录的集合呈双射关系。”
而不会是这样的:
“emmm……啊??主键,我觉得大概可能是这个属性啊。为什么呢?因为……我也说不上来,大概,就是因为那个,它是唯一的。啊不,它可以唯一确定一个人……emmm,一个人只拥有一个这种属性,这种属性也只对应一个人……emmmm,大概也许就是这样吧,我也不是太清楚,我也不太确定,你自己再考虑考虑吧!”

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132776.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python贪吃蛇小游戏_Python贪吃蛇代码

    Python贪吃蛇小游戏_Python贪吃蛇代码Python命令行小游戏—贪吃蛇前言一、贪吃蛇游戏初始界面及地图1.游戏初始界面2.游戏地图二、命令符的设置、输出刷新和按键检测1.库支持2.c语言代码3.Python代码(变量初始化及游戏初始化)三、蛇的移动四、蛇的方向控制五、食物的设置六、游戏结束总结前言为了初步学习Python更有兴趣,决定做个学编程大多都会做的小游戏—贪吃蛇,因为是刚刚开始学习,不足之处,希望大家多多指正。一、贪吃蛇游戏初始界面及地图1.游戏初始界面defmune():os.system(“color0a

    2025年9月14日
    7
  • java 配置环境变量[通俗易懂]

    java 配置环境变量[通俗易懂]1.情景展示虽然,我们在实际开发过程中,无论是通过idea、eclipse、myeclipse来完成java项目的开发,通过这些工具来帮助我们实现由java文件编译成class文件,但是,一旦脱离了

    2022年7月3日
    21
  • web前端 html+css+javascript网页设计实例 企业网站制作

    web前端 html+css+javascript网页设计实例 企业网站制作(案例源码链接在文章末尾,仅供学习参考)一、在浏览器中的运行结果:二、部分代码1.HTML:<!DOCTYPEhtml><html><headlang=”en”><metacharset=”UTF-8″><title>启乐官网</title><linkrel=”stylesheet”href=”style.css”/><scriptsrc=”myjs.j

    2022年6月16日
    34
  • C#实现一个局域网文件传输工具

    C#实现一个局域网文件传输工具工作需要,经常会在工作的台式机和笔记本之间传文件或者需要拷贝文本,两个机器都位于局域网内,传文件或者文本的方式有很多种,之前是通过共享文件夹来进行文件的拷贝,或者通过SVN进行同步。文本传递比较简单,可以通过两台机器上装QQ登两个号码,或者在共享目录下建一个TXT,或者发电子邮件等等。不过上面这些方法总觉得不直接,所以想基于P2P做一个小的局域网文件和文字传输小工具。WinForm的工程,

    2022年6月3日
    38
  • python 模板匹配原理与实战

    python 模板匹配原理与实战1 简述为了让大家不至于看到后面的公式就退却 我先简单描述一下模板匹配的原理 简单来说 模板匹配就是你拿一个模板 图片 在目标图片上依次滑动 每次计算模板与模板下方的子图的相似度 最后我们就计算出了非常多的相似度 如果你只是单个目标的匹配 那你只需要取相似度最大值所在的位置就可以得出匹配位置 如果你要匹配多个目标 那就设定一个阈值 就是说 只要咋俩的相似度大于比如 0 8 我就认为你是我要匹配的目标 2 原理 2 1 原理步骤你有一张模板图像 TTT 和一张较大的待搜索图像 III 模板匹配是

    2025年9月3日
    0
  • linux vim :E325 解决办法[通俗易懂]

    linux vim :E325 解决办法[通俗易懂]在终端中输入ls-la找到.swp文件(这个文件是个隐藏文件,所以删除时要加上.),然后rm.你的swp文件。

    2022年5月16日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号