集合:映射,单射,满射,双射

集合:映射,单射,满射,双射这些概念太重要了,虽然很不起眼,但是几乎所有地方都要用,一旦不清楚,会对一个问题审视错误。集合:元素汇聚在一起,就构成了一个集合。假设有集合A和集合B。映射:将A中的每一个元素,根据一个规则,对应到B中的一个元素去,比如A中是一些儿女,B中是他们的父亲,那么每一个A中的元素都可以对应到B中的唯一一个元素,这就是一种规则,即映射。因为一个人的爸爸只有一个,但是反之未必,因为一个爸爸可能有多个儿女。我们发现,这个和函数的概念非常相似,集合A相当于定义域,映射相当于f。但是集合的概念更加宽泛,正如前面所有

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

这些概念太重要了,虽然很不起眼,但是几乎所有地方都要用,一旦不清楚,会对一个问题审视错误。

集合:元素汇聚在一起,就构成了一个集合。

假设有集合A和集合B。

映射:将A中的每一个元素,根据一个规则,对应到B中的一个元素去,比如A中是一些儿女,B中是他们的父亲,那么每一个A中的元素都可以对应到B中的唯一一个元素,这就是一种规则,即映射。因为一个人的爸爸只有一个,但是反之未必,因为一个爸爸可能有多个儿女。

我们发现,这个和函数的概念非常相似,集合A相当于定义域,映射相当于f。但是集合的概念更加宽泛,正如前面所有,集合A可以是一些名字什么的,但是函数的定义域必须是数字。


定义好了映射的概念之后,根据映射的特点,我们可以对映射继续分类:
单射:对于一个映射,如果给定集合A中的两个不同的元素,经过映射后,得到了B中的两个元素,如果这两个元素不相同,就称这个映射是单射。
注:上面的例子不是单射,因为两个孩子有可能对应到一个爸爸。

满射:对于一个映射,如果集合B中的每一个元素都会被A中的某个元素映射到,那么就称这个映射是满射。
注:上面的例子是满射,因为B中是A中元素的父亲,所以给定一个父亲,会被A中某个儿女映射到。但是,如果我在B中随便加一个别人的(不是A中的)父亲的名字,那么这个父亲就不会被A中的儿女映射到,也就是多余了。这个时候就不是满射了。

双射:对于一个映射,如果既是单射,又是满射,则称这个映射是双射。
注:上面的例子不是双射。


总结:

映射使得集合A不多余,即每一个都会被映射到B中去,但是B可能有多余,且不限个数。
单射使得集合B中的元素个数大于等于A中的元素个数。
满射使得集合A中的元素个数大于等于B中的元素个数。
双射使得集合A的元素个数等于B中的元素个数。

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

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

(0)
上一篇 2022年5月3日 下午8:40
下一篇 2022年5月3日 下午8:40


相关推荐

  • idea 快速搭建SpringBoot项目「建议收藏」

    idea 快速搭建SpringBoot项目「建议收藏」环境:IntelliJIDEA2021.2.1+apache-maven-3.8.4+JDK8+SpringBoot2.6.21、首先新建项目File->New->Project2、选择SpringInitializr,天蝎项目信息,选择JDK8,Next3、选择SpringBoot版本,勾选上SpringWeb,点击Finish,项目就创建好了4、可以看到这是生成SpringbootDemoApplication和application.p

    2025年9月7日
    8
  • MacBook 本地部署 OpenClaw 完全指南

    MacBook 本地部署 OpenClaw 完全指南

    2026年3月13日
    5
  • 做事的真正态度

    做事的真正态度

    2022年1月12日
    51
  • ManualResetEvent类的用法

    ManualResetEvent类的用法ManualResetEvent类作用1.事件初始状态设为false,task线程在第一个WaitOne()处阻塞。2.manualResetEvent.Set()事件状态设为true,task线程在每一个WaitOne()处都不阻塞。3.manualResetEvent调用Set()再调用Reset(),task线程在第一个WaitOne()处阻塞。4.manualResetEvent.Set()事件状态设为true,task线程在第一个WaitOne()处阻塞然后被释放。5.三个线程异步执行,set()

    2022年7月18日
    24
  • pycharm的控制台主题,Pycharm控制台

    pycharm的控制台主题,Pycharm控制台本篇文章帮大家学习Pycharm控制台,包含了Pycharm控制台使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。PyCharm有一个完整的代码完整的python控制台,可以在选项菜单:工具(Tools)->运行Python控制台(RunPythonConsole)中找到。使用上一章中的代码,如下所示-message=’GIEWIVrGMTLIVrH…

    2022年8月26日
    8
  • 最新视频磨皮降噪神器 轻轻松松完成视频磨皮!Beauty box

    最新视频磨皮降噪神器 轻轻松松完成视频磨皮!Beauty box在视频后期中为了追求更好的视觉效果我们经常需要为画面中人物进行磨皮不过这种技术门槛还是比较高的那么有没有一款插件可以帮助我们让PR\FCP等软件也可以像PS一样轻松实现人像磨皮及小伙伴们所想为小伙伴带来一款全新的插件视频磨皮插件Beautybox(含WIN&MAC版本)支持PR\AECS6-CC2020或更高版本支持FCPX10.1.2或更高版本【插件介绍】▼它是人像润色磨皮滤镜,用于人像图片润色,磨.

    2022年7月22日
    40

发表回复

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

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