面试模拟场景
面试官: 你能解释一下什么是单射、满射和双射吗?并进一步说明如何判断两个无穷集合的大小?
满分参考回答示例
1. 单射(Injection)
定义:
- 单射(Injection)是指从集合 A A A 到集合 B B B 的一个函数 f : A → B f: A \rightarrow B f:A→B,它的特征是集合 A A A 中不同的元素在集合 B B B 中映射到不同的元素。换句话说,如果对于任何 a 1 , a 2 ∈ A a_1, a_2 \in A a1,a2∈A 且 a 1 ≠ a 2 a_1 \neq a_2 a1=a2,有 f ( a 1 ) ≠ f ( a 2 ) f(a_1) \neq f(a_2) f(a1)=f(a2),那么 f f f 是单射。
直观理解:
- 每个 A A A 中的元素有唯一的映射,并且没有两个不同的元素映射到同一个 B B B 中的元素。
例子:
- 函数 f ( x ) = 2 x f(x) = 2x f(x)=2x 是从自然数集合 N \mathbb{N} N 到整数集合 Z \mathbb{Z} Z 的单射,因为每个自然数 n n n 都映射到一个唯一的偶数 2 n 2n 2n,没有两个不同的自然数映射到同一个偶数。
2. 满射(Surjection)
定义:
- 满射(Surjection)是指从集合 A A A 到集合 B B B 的一个函数 f : A → B f: A \rightarrow B f:A→B,其特征是集合 B B B 中的每个元素都至少有一个来自集合 A A A 的元素映射到它上面。换句话说,对于每个 b ∈ B b \in B b∈B,都存在至少一个 a ∈ A a \in A a∈A 使得 f ( a ) = b f(a) = b f(a)=b。
直观理解:
- B B B 中的每个元素都能通过 f f f 被覆盖,没有“空缺”。
例子:
- 函数 f ( x ) = x 3 f(x) = x^3 f(x)=x3 是从实数集合 R \mathbb{R} R 到实数集合 R \mathbb{R} R 的满射,因为每个实数 y y y 都有一个 x x x 使得 x 3 = y x^3 = y x3=y(即 x = y 1 / 3 x = y^{1/3} x=y1/3)。
3. 双射(Bijection)
定义:
- 双射(Bijection)是既是单射又是满射的函数。换句话说,双射函数 f : A → B f: A \rightarrow B f:A→B 是一个一一对应的映射,这意味着每个 A A A 中的元素都映射到 B B B 中唯一的一个元素,且 B B B 中的每个元素都被 A A A 中的某个元素映射。
直观理解:
- 双射表示 A A A 和 B B B 之间存在一个完全的“一一对应”关系。
例子:
- 函数 f ( x ) = x + 1 f(x) = x + 1 f(x)=x+1 是从整数集合 Z \mathbb{Z} Z 到整数集合 Z \mathbb{Z} Z 的双射,因为每个整数 n n n 都映射到唯一的整数 n + 1 n + 1 n+1,并且 B B B 中的每个整数 m m m 都有一个整数 m − 1 m - 1 m−1 映射到它。
4. 判断两个无穷集合的大小
在集合论中,我们通过比较集合的“势”(即元素的数量或“基数”)来判断集合的大小。对于有限集合,比较大小非常直观;但对于无穷集合,我们使用双射来判断它们的大小。
概念:
- 如果存在一个双射 f : A → B f: A \rightarrow B f:A→B,那么集合 A A A 和集合 B B B 有相同的势,我们认为它们“同样大”。
- 如果无法在两个无穷集合之间建立双射,则它们的基数不相等。我们可以通过寻找适当的单射来比较它们的大小。
- 如果存在一个单射 f : A → B f: A \rightarrow B f:A→B,但没有从 B B B 到 A A A 的双射,那么集合 A A A 的基数小于集合 B B B 的基数,即 ∣ A ∣ < ∣ B ∣ |A| < |B| ∣A∣<∣B∣。
具体步骤:
-
寻找双射:
- 如果能找到一个双射函数从集合 A A A 到集合 B B B,则证明这两个集合的大小相同。
-
构造单射
- 如果无法构造双射,那么尝试构造一个从 A A A 到 B B B 的单射 f : A → B f: A \rightarrow B f:A→B。
- 如果可以构造单射 f : A → B f: A \rightarrow B f:A→B,但无法构造双射 g : B → A g: B \rightarrow A g:B→A,则表示集合 A A A 的基数小于集合 B B B,即 ∣ A ∣ < ∣ B ∣ |A| < |B| ∣A∣<∣B∣。
- 如果存在从 B B B 到 A A A 的单射,但没有从 A A A 到 B B B 的单射,则 ∣ B ∣ < ∣ A ∣ |B| < |A| ∣B∣<∣A∣。
-
比较典型无穷集合的大小:
-
自然数集 N \mathbb{N} N 和整数集 Z \mathbb{Z} Z 相同大小: 存在一个双射 f ( n ) f(n) f(n),例如 f ( n ) f(n) f(n) 可以将自然数 n n n 映射到交替的正负整数序列 f ( n ) = ( − 1 ) n ⋅ ⌊ n + 1 2 ⌋ f(n) = (-1)^n \cdot \left\lfloor \frac{n+1}{2} \right\rfloor f(n)=(−1)n⋅⌊2n+1⌋。
-
有理数集 Q \mathbb{Q} Q 和自然数集 N \mathbb{N} N 相同大小: 我们可以通过编号有理数对(分子和分母)来构造一个双射函数,从而证明 Q \mathbb{Q} Q 和 N \mathbb{N} N 的基数相同。
-
总结
- 单射、满射和双射: 单射是确保唯一性,满射是确保覆盖性,而双射是二者的结合,表示两个集合之间存在一一对应的关系。
- 无穷集合的大小: 可以通过寻找双射来判断两个无穷集合的大小。若存在双射,则两个无穷集合大小相同;若不存在双射,则其中一个集合比另一个集合更大。可以尝试构造单射来比较。