证明:A交(B对称差C)=(A交B)对称差(A交C)

交换律是被普遍使用的一个数学名词,意指能改变某物的顺序而不改变其最终结果。交换律是大多数数学分支中的基本性质,而且许多的数学证明需要依靠交换律。简单运算的交换律许久都被假定存在,且没有给定其一特定的名称,直到19世纪,数学家开始形式化数学理论

给定集合S上的二元计算,如果对S中的任意a,b满足

1.在四则运算中,加法和乘法都满足交换律。在小学课本中的表述如下:

加法交换律:两个数相加,交换加数的位置,它们的和不变.a+b=b+a

乘法交换律:两个数相乘,交换因数的位置,它们的积不变.axb=bxa

2.在集合运算中,集合的交,并,对称差等运算都满足交换律。

给定一个集合S上的二元运算·,如果对于S中的任意a,b,c。有:

则称运算·满足结合律。

1.在常见的四则运算中:加法和乘法都满足结合律。在小学课本中表述如下:

加法结合律:三个数相加,先把前面两个数相加,再加第三个数,或者先把后面两个数相加,再和第一个数相加,它们的和不变。即表示为:(a+b)+c=a+(b+c);

乘法结合律:三个数相乘,先把前面两个数相乘,再乘第三个数,或者先把后面两个数相乘,再和第一个数相乘,它们的积不变。即表示为:(axb)xc=ax(bxc);

2.在集合运算中:集合的交,并运算都满足结合律;

3.矩阵乘法满足结合律。一个A x B的矩阵乘以一个B x C的矩阵将得到一个A x C的矩阵,时间复杂度为A x B x C。

【定义】给定集合S上的两个二元运算x和+,若它们满足:对任意S中的a,b,c有

如果同时满足上面两条,则称运算·对运算*满足分配律。

1.在常见的四则运算中:

1)乘法对加法和减法都满足分配律(即同时满足左右分配律)。

在小学课本里这个性质被表述为:两个数的和与一个数相乘,可以把两个加数分别与这个数相乘,再把两个积相加。

2)除法对加法和减法满足右分配律。(这个事实很少被提到,但的确是对的)

1)交运算对并运算满足分配律;

2)并运算对交运算满足分配律;

3)交运算对差运算满足分配律;

4)并运算对差运算满足分配律;等等...

乘法交换律:a×b=b×a

}

两个集合A,B的对称差为:A+B=(A-B)∪(B-A)。现在已知A+B=A。则下面哪个命题为真(Φ为空集)?

}
set是STL中一种标准关联容器(vector,list,string,deque都是序列容器,而set,multiset,map,multimap是标准关联容器),它底层使用平衡的搜索树——红黑树实现,插入删除操作时仅仅需要指针操作节点即可完成,不涉及到内存移动和拷贝,所以效率比较高。set,顾名思义是“集合”的意思,在set中元素都是唯一的,而且默认情况下会对元素自动进行升序排列,支持集合的交(set_intersection),差(set_difference)

set会对元素进行排序,那么问题也就出现了排序的规则是怎样的呢?上面的示例代码我们发现对int型的元素可以自动判断大小顺序,但是对char*就不会自动用strcmp进行判断了,更别说是用户自定义的类型了,事实上set的标准形式是set<Key, Compare, Alloc>,

集合的关键字和值的类型
关键字比较函数,它的参数类型key参数指定的类型,如果第一个参数小于第二个参数则返回true,否则返回false
set的分配器,用于内部内存管理

下面给出一个关键字类型为char*的示例代码

其中的ltstr也可以这样定义

更加通用的应用方式那就是数据类型也是由用户自定义的类来替代,比较的函数自定义,甚至可以加上二级比较,比如首先按照总分数排序,对于分数相同的按照id排序,下面是示例代码

}

我要回帖

更多关于 B.C 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信