-
1 集合的计算机表示
-
2 数学家简介
-
3 计算机科学中的常...
-
4 关系传递性的判定...
-
5 偏序关系的应用
集合的计算机表示
计算机表示集合的方式有多种。一种办法是把集合的元素无序地存储起来。可是如果这样的话,再进行集合的并集、交集或差集等运算时会非常费时,因为这些运算将需要进行大量的元素搜索。我们将介绍一种利用全集中元素的任何一种顺序来存放集合元素的方法。集合的这种表示法使我们很容易计算集合的各种组合。
假定全集E是有限的(而且大小合适,使E得元素个数不超过计算机能使用的内存量)。首先为E的元素任意规定一个顺序,例如a1,a2,…,an。于是可以用长度为n的位串来表示E的子集A:其中位串中第i位是1,如果ai属于A;是0,如果ai不属于A。我们用例1阐明这一方法。
例1 令E={1,2,3,4,5,6,7,8,9,10},而且E的元素以升序排序,即ai=i。表示E中所有奇数的集合、所有偶数的集合和不超过5的整数的集合的位串是什么?
解:表示E中所有奇数的集合{1,3,5,7,9}的位串,其第1、3、5、7、9位为1,其他位为0.即
10 1010 1010
(我们把长度为10的位串分成长度为4的片段组合以便阅读)。
类似地,E中所有偶数的集合,即{2,4,6,8,10}的位串为
01 0101 0101
E中不超过5的所有整数的集合,即{1,2,3,4,5}的位串为
11 1110 0000
结论:用位串表示集合便于计算集合的并集、交集、差集、补集。
① 要从表示集合的位串计算它的补集的位串,只需简单地把每个1改为0,每个0改为1。
② 要想得到两个集合的并集和交集的位串,只需对这两个集合的位串按位做布尔运算即可。