第6章 组合数学中的程序设计优秀PPT.ppt





《第6章 组合数学中的程序设计优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第6章 组合数学中的程序设计优秀PPT.ppt(101页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6章 组合数学中的程序设计现在学习的是第1页,共101页本章主要内容本章主要内容6.1组合数学中有关概念与公式组合数学中有关概念与公式6.1.1排列与组合及有关的生成算法排列与组合及有关的生成算法6.1.2母函数母函数6.1.3容斥原理与错排容斥原理与错排6.1.4Polya定理定理6.2实例研究实例研究现在学习的是第2页,共101页6.1组合数学中有关概念与公式组合数学中有关概念与公式6.1.1排列与组合及有关的生成算法排列与组合及有关的生成算法1 1排列与组合的基本概念和公式排列与组合的基本概念和公式排列、相异元素可重复的排列排列、相异元素可重复的排列组合、相异元素可重复的组合组合、相异
2、元素可重复的组合现在学习的是第3页,共101页6.1.1排列与组合及有关的生成算法排列与组合及有关的生成算法在多项式在多项式 的展开式中的项的展开式中的项 的系数的系数不定方程不定方程 的有非负整数解的个数为的有非负整数解的个数为设设n n是一个正整数,令是一个正整数,令Q Qn n表示在表示在11,2 2,nn中不允许出现中不允许出现两个连续数字的排列方法数,则有两个连续数字的排列方法数,则有Q Qn n =现在学习的是第4页,共101页6.1.1排列与组合及有关的生成算法排列与组合及有关的生成算法2全排列的生成算法全排列的生成算法全排列的生成算法有:字典序法、递增进位制数法、递减进全排列的
3、生成算法有:字典序法、递增进位制数法、递减进位制数法和邻位对换法等位制数法和邻位对换法等全排列的字典序算法全排列的字典序算法问题:对于给定的一个全排列问题:对于给定的一个全排列P P,要生成,要生成P P的下一个排列的下一个排列Q Q现在学习的是第5页,共101页6.1.1排列与组合及有关的生成算法排列与组合及有关的生成算法字典序全排列:字典序全排列:给定给定n个元素的集合个元素的集合x1,x2,x3,xn,对,对X中的元素规定中的元素规定了一个先后关系。在两个排列中,按字典序方式对它们的位从了一个先后关系。在两个排列中,按字典序方式对它们的位从左到右每位比较,较小的字符对应的排列较先,按这样
4、的序生左到右每位比较,较小的字符对应的排列较先,按这样的序生成的全排列称为字典序全排列。成的全排列称为字典序全排列。现在学习的是第6页,共101页给定排列给定排列P,求下一个排列,求下一个排列Q例:求例:求X=1,2,3,4,5,6,7上排列上排列P=2637541的下一的下一个排列个排列Q1)从右到左找出比右边数字小的第一个数,即从右到左找出比右边数字小的第一个数,即3。2)再从右到左考察比再从右到左考察比3大的第一个数,是大的第一个数,是43)将将3与与4对换位置,得对换位置,得26475314)将得到的排列将得到的排列2647531从从4后面的后面的7531翻转得翻转得13575)把前缀
5、把前缀264接在接在1357的前面得的前面得2641357,它就是所求的排列,它就是所求的排列2647531的下一个排列。的下一个排列。现在学习的是第7页,共101页给定排列给定排列P,求下一个排列,求下一个排列Q算法算法设设X=1,2,n,求求P=a1a2an的下一个排列:的下一个排列:1)1)在在P中从右到左寻找右边比左边大的数的第一个位置中从右到左寻找右边比左边大的数的第一个位置j,即,即j=maxi|aiaj。此时排列。此时排列P形如形如a1a2aj-1ajaj+1ak-1akak+1an。3)3)对换对换aj,ak,并将,并将aj+1ak-1ajak+1an翻转,得翻转,得Q=a1a
6、2aj-1akanak-1ajak+1an即为即为P的下一个排列。的下一个排列。现在学习的是第8页,共101页6.1.1排列与组合及有关的生成算法排列与组合及有关的生成算法3.组合的生成算法组合的生成算法令令j=maxi|ain-m+i+1。那么。那么a1a2am的下一个组合为的下一个组合为a1a2aj-1(aj+1)(aj+2)(aj+m-j)。例如,给定例如,给定n=13,m=6,组合,组合45781213,于是可见,于是可见j=3。将。将81213依次修改为依次修改为91011。那么组合。那么组合45781213的下一个组合为的下一个组合为45791011。现在学习的是第9页,共101页
7、6.1.1排列与组合及有关的生成算法排列与组合及有关的生成算法4.字典序全排列与序号的转换字典序全排列与序号的转换字典序全排列的序号字典序全排列的序号记记P=a1a2an。记。记ki为元素为元素ai的逆序数,则排列的逆序数,则排列P P的序号为的序号为问题:给定排列的序号,如何求全排列?问题:给定排列的序号,如何求全排列?排列排列123458697的的逆序数分别为逆序数分别为000002010,序号为序号为345现在学习的是第10页,共101页给定排列的序号给定排列的序号/给定元素个数给定元素个数n,及全排列,及全排列p/返回字典序全排列下排列序号返回字典序全排列下排列序号numintperm
8、2num(intn,int*p)inti,j,num=0,k=1;for(i=n-2;i=0;k*=n-(i-)/因子为因子为(n-i-1)!,注意下标从,注意下标从0开始开始for(j=i+1;jn;j+)if(pj=0;i-)pi=num%(n-i),num/=n-i;for(i=n-1;i;i-)for(j=i-1;j=0;j-)if(pj=pi)pi+;/根据逆序数数组进行调整根据逆序数数组进行调整现在学习的是第12页,共101页6.1.1排列与组合及有关的生成算法排列与组合及有关的生成算法5字典序组合与序号的转换字典序组合与序号的转换实例:设实例:设n=9,m=4。将从。将从n n个
9、元素取个元素取m m个的所有组合从个的所有组合从1开始从开始从小到大编序,组合小到大编序,组合3579的的序号是多少?序号是多少?一种计算方法:首位小于一种计算方法:首位小于3的组合的个数为的组合的个数为91;首位是;首位是3,第第2位小于位小于5的组合的个数为的组合的个数为10;前;前2位是位是35,第,第3位小于位小于7的的组合的个数为组合的个数为3;前;前3位是位是357,第,第4位小于位小于9的组合的个数为的组合的个数为1。所有这些数之和。所有这些数之和105,加上它本身的,加上它本身的1个号,得组合个号,得组合3579的的序号是序号是106。现在学习的是第13页,共101页另一种思路
10、由组合求序号另一种思路由组合求序号考虑从当前考察的组合的后面有多少个组合。考虑从当前考察的组合的后面有多少个组合。/传入传入n、m及组合及组合c,返回,返回c的序号的序号num/下面的下面的comb(n,m)是是n个元素取个元素取m个的组合数个的组合数intcomb2num(intn,intm,int*c)intnum=comb(n,m),i;for(i=0;im;i+)num=num-comb(n-ci,m-i);returnnum;现在学习的是第14页,共101页由序号求组合由序号求组合由序号求组合算法是前面由组合求序号的逆过程由序号求组合算法是前面由组合求序号的逆过程 /输入输入n、m,
11、序号,序号num,传回所求的组合,传回所求的组合cvoidnum2combA(intn,intm,int*c,intnum)inti,j=1,k;for(i=0;icomb(n-j,m-i-1)num-=comb(n-j,m-i-1),j+;ci=j;现在学习的是第15页,共101页6.1.2母函数母函数母函数:给定序列母函数:给定序列a0、a1、a2、an、那么函数那么函数G(x)=a0+a1x+a2x2+akxk+称为序列称为序列a0、a1、a2、an、的的母函数(也叫生成函数)。母函数(也叫生成函数)。给定一个序列,可确定对应的母函数;反过来,给定一个母函数,给定一个序列,可确定对应的母
12、函数;反过来,给定一个母函数,那么也能确定对应的序列。那么也能确定对应的序列。例:斐波那契数列例:斐波那契数列an,n=0,1,2,a0=a1=1,an=an-1+an-2。对应的母函数可表示为。对应的母函数可表示为可求得可求得现在学习的是第16页,共101页举例举例问题描述问题描述 小明手中有小明手中有3张一元张一元,2张张2元和元和3张张5元的钱币元的钱币,问小明都能买价值为问小明都能买价值为多少的物品?对每种价值的物品他有几种付款方法?如小明手中有多少的物品?对每种价值的物品他有几种付款方法?如小明手中有k张一元,张一元,m张张2元和元和n张张5元的钱币,结果又如何?元的钱币,结果又如何
13、?输入输入输入的第一行是一个整数输入的第一行是一个整数T,(,(1T10),表示测试数据的个数。表示测试数据的个数。接下来有接下来有T行,每行上有行,每行上有3个非负整数个非负整数k,m,n,(,(1k,m,n10),分别表示一元、二元和五元的钱币数。),分别表示一元、二元和五元的钱币数。k,m,n中至中至少有一个非少有一个非0。输出输出对输入中的三种钱币数,输出小明能买物品的价值总数以对输入中的三种钱币数,输出小明能买物品的价值总数以及所有的付款方法数。及所有的付款方法数。现在学习的是第17页,共101页输入与输出样例输入与输出样例输入样例输入样例13 2 3输出样例输出样例22 47现在学
14、习的是第18页,共101页对实例的说明对实例的说明k=3,m=2,n=3一元、二元、五元钱币对应的能买物品的生成函数一元、二元、五元钱币对应的能买物品的生成函数小明能买的物品对应的生成函数为小明能买的物品对应的生成函数为现在学习的是第19页,共101页结论结论小明可以买价值分别为小明可以买价值分别为0,1,2,21,22元的物品,即元的物品,即22种非零的钱数,并且付款的方法数分别为种非零的钱数,并且付款的方法数分别为0,1,2,2,2,3,2,3,2,2,3,2,3,2,2,3,2,3,2,2,2,1,1,总数为,总数为47。现在学习的是第20页,共101页6.1.3容斥原理与错排容斥原理与
15、错排1容斥原理容斥原理设设A为任一个有限集合。用为任一个有限集合。用|A|记集合记集合A中元素的个数。当中元素的个数。当A为空为空集时,集时,|A|=0。定理定理6.1设设A,B为两个有限集合,那么为两个有限集合,那么定理定理6.2设设A1,A2,An是是n个有限集合,则个有限集合,则现在学习的是第21页,共101页2错排错排当当n 1时,若时,若n个元素个元素1,2,n的排列的排列P其每个元素都不在原来其每个元素都不在原来的位置上(即元素的位置上(即元素k不在位置不在位置k上),则该排列称为错排。上),则该排列称为错排。n个元素的集合个元素的集合1,2,n的错排个数为的错排个数为Dn。有递推
16、关系有递推关系很容易得到关于很容易得到关于Dn的关系式的关系式 Dn=现在学习的是第22页,共101页3抽屉原理抽屉原理1.1.将将m m个物品放入个物品放入n n个抽屉,则其中至少有一个抽屉里含有个抽屉,则其中至少有一个抽屉里含有 个物品个物品2.设设m1 1、m2 2,m1 1,mn n都是正整数,且将都是正整数,且将n个物品放入个物品放入n个抽个抽屉,则:第一个抽屉至少有屉,则:第一个抽屉至少有m1 1个物品,第二个抽屉至少有个物品,第二个抽屉至少有m2 2个个物品,物品,第,第n个抽屉至少有个抽屉至少有mn n个物品,至少其中之一必定成个物品,至少其中之一必定成立。立。现在学习的是第2
17、3页,共101页6.1.4Plya定理定理群群:定义定义6.3 6.3 设设G G是一个集合,是一个集合,*是是G G上的二元运算,如果上的二元运算,如果(G G,*)满足如下满足如下条件:条件:封闭性:对于任何封闭性:对于任何a a,b b G G,有,有a*ba*b G G;结合律:对任何结合律:对任何a a,b b,c c G G,(a*b)*c=a*(b*c)(a*b)*c=a*(b*c);单位元:存在单位元:存在e e G G,使得对,使得对a a G G,有,有a*e=e*a=aa*e=e*a=a;逆元:对于每个元素逆元:对于每个元素a a G G,存在,存在x x G G,使得,
18、使得a*x=x*a=ea*x=x*a=e。那么称(那么称(G G,*)为一个群。)为一个群。现在学习的是第24页,共101页群的例子群的例子例例1:设设G=1,-1,*为普通乘法,那么(为普通乘法,那么(G,*)为一个群,)为一个群,1是单是单位元。位元。例例2:设设G=0,1,2,3,m-1,*为普通的模为普通的模m加法,那么(加法,那么(G,*)为一个群,)为一个群,0是单位元。是单位元。例例3:设设m=10,记,记G=1,3,7,9,那么,那么G关于模关于模10的乘法构成一个的乘法构成一个群。群。现在学习的是第25页,共101页子群、交换群子群、交换群子群:设(子群:设(G,*)是任何一
19、个群,又设)是任何一个群,又设H是是G的子集,若(的子集,若(H,*)是一个群,则称()是一个群,则称(H,*)是()是(G,*)的一个群,简称)的一个群,简称H是是G的子群。的子群。交换群:设(交换群:设(G,*)是一个群,如果对于)是一个群,如果对于G的任何元素的任何元素a,b,有,有ab=ba,那么称,那么称G为交换群。为交换群。置换:置换:设设X是一个有限集,是一个有限集,是是X到到X的一个一一变换,那么称的一个一一变换,那么称 是是X上的一个置换。上的一个置换。有限群的阶:有限群的阶:G的元素个数称为的元素个数称为G的阶,记为的阶,记为|G|现在学习的是第26页,共101页置换置换设
20、设X是一个有限集,是一个有限集,是是X到到X的一个一一变换,那么称的一个一一变换,那么称 是是X上的一个置换上的一个置换:1a1,2a2,nan,置换的一种记号置换的一种记号注意:上述记号下,同一置换用这样的表示有注意:上述记号下,同一置换用这样的表示有n!种,但关键的对种,但关键的对应关系不变,只有一种。应关系不变,只有一种。现在学习的是第27页,共101页正三角形正三角形ABC的变换的变换正三角形正三角形ABC的旋转变换和轴对称变换的旋转变换和轴对称变换现在学习的是第28页,共101页正三角形的所有变换正三角形的所有变换沿中心逆时针旋转,有沿中心逆时针旋转,有0,120,240三种三种旋转
21、旋转0,0:AA,BB,CC旋转旋转120,1:AC,BA,CB旋转旋转240,2:AB,BC,CA沿对称轴翻转沿对称轴翻转180,也有三种:,也有三种:沿沿AO轴翻转,轴翻转,3:AA,BC,CB沿沿BO轴翻转,轴翻转,4:AC,BB,CA沿沿CO轴翻转,轴翻转,5:AB,BA,CC现在学习的是第29页,共101页正三角形的所有变换正三角形的所有变换沿中心逆时针旋转沿中心逆时针旋转旋转旋转0旋转旋转120旋转旋转240沿对称轴翻转沿对称轴翻转180沿沿AO轴翻转,沿轴翻转,沿BO轴翻转轴翻转沿沿CO轴翻转轴翻转现在学习的是第30页,共101页置换的乘法运算置换的乘法运算置换的乘法运算是置换的
22、连接置换的乘法运算是置换的连接X的所有的所有n!个置换关于置换的乘法构成一个群个置换关于置换的乘法构成一个群G,记为记为Sn,其单位,其单位元是元是举例:设举例:设 3=,2=3与与 2的积为置换的积为置换 5。现在学习的是第31页,共101页循环循环循环循环 是这样一个置换,满足是这样一个置换,满足:a1a2,a2a3,aka1,但但对其它的元素保持不变,称为对其它的元素保持不变,称为k阶循环。阶循环。k阶循环可记为:阶循环可记为:k称为循环节长度称为循环节长度2阶循环阶循环也称为对换,简记为(也称为对换,简记为(a1a2)现在学习的是第32页,共101页置换与循环置换与循环定理定理6.3每
23、个置换都可以写成若干互不相交的循环每个置换都可以写成若干互不相交的循环的乘积,且表示是唯一的。的乘积,且表示是唯一的。例:置换例:置换可表示为可表示为(124)(35)(6),其循环节数是其循环节数是3现在学习的是第33页,共101页2Burnside引理引理定义定义6.7等价:设等价:设G是有限集是有限集X上的置换群,点上的置换群,点a,b X称为称为“等价等价”的,的,当且仅当,存在置换当且仅当,存在置换 G使得使得(a)=b,记为,记为a b。轨道:在这种等价关系下,轨道:在这种等价关系下,X的元素形成的等价类称为的元素形成的等价类称为G的轨道。的轨道。a X所在的等价类所在的等价类Ea
24、,即为,即为a所在的所在的轨道。轨道。G的任意两个不同的轨道之交是空集。的任意两个不同的轨道之交是空集。等价类:集合等价类:集合X上的所有等价类构成上的所有等价类构成X的一个划分,等价类的个数记的一个划分,等价类的个数记为为L。现在学习的是第34页,共101页a不动置换类不动置换类Za:设:设G是是X=1,2,n上的置换群。若上的置换群。若a X,G中使中使a保持不变的置换的全体保持不变的置换的全体|有有 G,使,使(a)=a,记为,记为Za,叫,叫做做G中使中使a保持不动的置换类保持不动的置换类,简称,简称a不动置换类。不动置换类。性质:对所有性质:对所有a X,|Ea|Za|=|G|成立。
25、成立。证明证明略略C():对于一个置换:对于一个置换 G,及,及a X,若,若(a)=a,则称,则称a为为 的不的不动点。动点。的不动点的全体记为的不动点的全体记为C()。现在学习的是第35页,共101页Burnside引理引理证明:略证明:略L:等价类的个数:等价类的个数|C()|:的不动点的全体的个数的不动点的全体的个数|Za|:G中使中使a保持不动的置换类个数保持不动的置换类个数|G|:置换群置换群G的元素个数的元素个数现在学习的是第36页,共101页3Plya定理定理定理定理6.4设设G=1,2,t是是X=a1,a2,an上一个置换群,上一个置换群,用用m种颜色对种颜色对X中的元素进行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 组合数学中的程序设计优秀PPT 组合 数学 中的 程序设计 优秀 PPT

限制150内