什么是笛卡尔积?笛卡尔积是什么意思?

Python016

什么是笛卡尔积?笛卡尔积是什么意思?,第1张

笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X×Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员  。

假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。

类似的例子有,如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。A表示所有声母的集合,B表示所有韵母的集合,那么A和B的笛卡尔积就为所有可能的汉字全拼。

设A,B为集合,用A中元素为第一元素,B中元素为第二元素构成有序对,所有这样的有序对组成的集合叫做A与B的笛卡尔积,记作AxB.

笛卡尔积的符号化为:

A×B={(x,y)|x∈A∧y∈B}

例如,A={a,b}, B={0,1,2},则

A×B={(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}

B×A={(0, a), (0, b), (1, a), (1, b), (2, a), (2, b)}

扩展资料

给出三个域:

D1=SUPERVISOR = { 张清玫,刘逸 }

D2=SPECIALITY= {计算机专业,信息专业}

D3=POSTGRADUATE = {李勇,刘晨,王敏}

则D1,D2,D3的笛卡尔积为D:

D=D1×D2×D3 ={(张清玫, 计算机专业, 李勇), (张清玫, 计算机专业, 刘晨),

(张清玫, 计算机专业, 王敏), (张清玫, 信息专业, 李勇),

(张清玫, 信息专业, 刘晨), (张清玫, 信息专业, 王敏),

(刘逸, 计算机专业, 李勇), (刘逸, 计算机专业, 刘晨),

(刘逸, 计算机专业, 王敏), (刘逸, 信息专业, 李勇),

(刘逸, 信息专业, 刘晨), (刘逸, 信息专业, 王敏)}

这样就把D1,D2,D3这三个集合中的每个元素加以对应组合,形成庞大的集合群。

本个例子中的D中就会有2X2X3个元素,如果一个集合有1000个元素,有这样3个集合,他们的笛卡尔积所组成的新集合会达到十亿个元素。假若某个集合是无限集,那么新的集合就将是有无限个元素

参考资料笛卡尔乘积_百度百科 

某些情况下,用于 寻找连续日期中残缺的数据 的时候,可以先笛卡尔积做一个排列组合。然后和目标表进行关联,查找哪些数据缺少了。

例如有个考勤记录表,记录着100个人的2011年4月的考勤信息,理论上这些人应该每天都有记录的。

但是实际上某些人在某些天上面的数据,缺少了。

一天一天的查询,还是一个人一个人的查询,都有些麻烦。

这种情况下,可以针对 每个人 与 每一天 做一个 笛卡尔积 的处理。

然后与实际的表去关联。就很容易查询出结果了。