【发布时间】:2014-10-14 14:21:07
【问题描述】:
我正在阅读以下位置的数组和位向量集。
http://www.brpreiss.com/books/opus4/html/page390.html
在本节中,我们考虑有限宇宙上的有限集。 具体来说,我们考虑的宇宙是 {0,1,...,N-1},即 整数在从零到 N-1 的范围内,对于一些固定的和相对的 N的小值。
令 U= 0,1,..., N-1} 为宇宙。我们希望的每一组 表示是 U 的一个子集。 U 的所有子集的集合称为 U 的幂集,写为 2 ^ U(即 2 的 U 次幂)。因此, 我们希望表示的集合是 2 ^ U 的元素。 集合 U 中的元素个数,写成 |U|,是 N。类似地,|2^U| = 2^|U|=2^N。这个观察应该是显而易见的:对于每个元素 全集 U 只有两种可能:要么是,要么 它不是给定集合的成员。
这表明了一个相对简单的表示 2^U 的元素——一个布尔值数组,每个元素对应一个 通用集。通过在 U 中使用数组下标,我们可以表示 隐含的集合。即,如果第 i 个数组,我是集合的成员 元素为真。
我对上述文字的问题是
作者所说的“U 的所有子集的集合称为 U 的幂集,写成 2 ^ U(即 2 的 U 幂)是什么意思?例如,如果我们有 U= { 0,1,2} 那么我们有 2^3 = 8 是所有子集的集合,但我们有超过 8 个,例如 {empty set}, {0}, {1}, {2}, {0,1 }、{0,2}、{0,3}、{1,2} 和 {1,2,3} 是 9。如果我错了,请纠正我?
作者如何以及为什么想出 2 的幂而不是 3 等任何其他数字?
请澄清。
【问题讨论】:
标签: c math data-structures set