登录
首页 >  文章 >  常见问题

单射满射区别图解,一目了然全掌握

时间:2025-12-23 18:21:29 294浏览 收藏

golang学习网今天将给大家带来《满射单射区别一览表,一图看懂所有差异》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习文章或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

单射要求不同输入对应不同输出,允许陪域有未映射元素;满射要求陪域每个元素都有原像,允许多对一。例如f(1)=a,f(2)=b,f(3)=c是单射非满射;若B={a,b}且g(1)=a,g(2)=b,g(3)=a,则为满射非单射。

满射和单射的区别表格对比 一张表看懂所有差异

一、定义对比

理解满射和单射的第一步是掌握它们各自的数学定义。通过定义可以明确两种映射在元素对应关系上的根本区别。

1、单射(Injective):若集合A中的任意两个不同元素x₁与x₂,其在集合B中的像f(x₁)与f(x₂)也互不相同,则称该映射为单射。即:x₁ ≠ x₂ ⟹ f(x₁) ≠ f(x₂)。

2、满射(Surjective):若集合B中的每一个元素y都至少存在一个集合A中的元素x,使得f(x) = y,则称该映射为满射。即:值域等于陪域。

二、对应关系特征

从元素之间的映射方式来看,单射和满射在“一对一”和“覆盖性”方面表现出明显差异。

1、单射强调的是“一对一”关系,但不要求目标集合的所有元素都被映射到,允许陪域中存在未被映射到的元素

2、满射强调的是“全覆盖”,即目标集合中的每个元素都必须被映射到,不要求原像唯一,允许多个原像对应同一个像

三、图像与实例说明

通过具体例子能更直观地展示两者差异。设集合A = {1, 2, 3},集合B = {a, b, c, d}。

1、映射f: A → B 定义为 f(1)=a, f(2)=b, f(3)=c。此映射为单射,因为所有输入对应不同的输出,但不是满射,因为d没有原像。

2、映射g: A → B 定义为 g(1)=a, g(2)=b, g(3)=a。此映射不是单射(1和3都映射到a),但如果B={a,b},且每个元素都有原像,则可能是满射。

四、表格对比总结

以下表格清晰列出满射与单射的核心差异点:

对比项 单射(Injective) 满射(Surjective)
定义 不同输入对应不同输出 陪域中每个元素都有原像
是否允许多对一 不允许 允许
是否要求覆盖整个陪域 不要求 要求
函数图像特点 水平线上最多交一点(水平线测试) 每个陪域元素至少有一条来自定义域的箭头
典型例子 f(x) = e^x 是 ℝ → ℝ⁺ 的单射 f(x) = x³ 是 ℝ → ℝ 的满射

今天关于《单射满射区别图解,一目了然全掌握》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>