- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
组合数学4-2003.ppt
生成排列和组合 n元组字典序:通过基2的生成方案所产生的0和1的n元组的顺序称为n元组的字典序。 组合的压缩序:把n元组看作集合{xn-1,…,x1,x0}的组合,那么对于每一个满足n-1j的j,{xj,…,x1,x0}的所有组合先于至少含有xn-1,…,xj+1中一个元素的那些组合,由于这个原因,有时0和1的n元组的字典序列看作是集合{xn-1,…,x1,x0}的组合的顺序也叫做组合的压缩序。 生成排列和组合 0,0,0 0,0,1 0,1,0 0,1,1 1,0,0 1,0,1 1,1,0 1,1,1 ? 1 2 1,2 3 1,3 2,3 1,2,3 {x2=3,x1=2,x0=1} 3-元字典序列 组合压缩序列 生成排列和组合 以反射Gray码的顺序生成0和1的n元组的算法 压缩序的不足。在压缩组合序中,一个组合的直接后继可能和这个组合本身差别很大。例如,组合A={x6,x4,x3}(对应于7元组1011000)在组合B={x6,x4,x2,x1,x0}(对应于7元组1010111)的下一个位置,但是它们差别很大。 问题的提出:能否以不同的顺序生成n个元素集合的组合,使得一个组合的直接后继与这个组合尽可能小地不同? 生成排列和组合 尽可能地小是指:一个组合的直接后继或者通过增加一个新元素或者通过删除一个老元素但不是增删同时进行而得到。 例:令S={xn-1,…,x1,x0},考虑S的组合及n=1,2,3对应的n元组的下属列表: n=1 0 1 ? {x0} n=2 0 0 0 1 ? {x0} 1 1 {x1,x0} 1 0 {x1} 生成排列和组合 n=3 0 0 0 0 0 1 ? {x0} 0 1 1 {x1,x0} 0 1 0 {x1} 1 1 0 1 1 1 1 0 1 1 0 0 {x2,x1} {x2,x1,x0} {x2,x0} {x2} n=3 0 0 0 0 0 1 ? {x0} 0 1 0 {x1} 0 1 1 {x1,x0} 1 0 0 1 0 1 1 1 0 {x2} {x2,x0} {x2,x1} 压缩序 1 1 1 {x2,x1,x0} 生成排列和组合 例.令n=1。0和1的1元组对应单位线段的2个端点或两头。 例.令n=2。0和1的2元组对应单位正方形的4个角点上的点。 0 1 00 01 10 11 000 001 010 011 100 101 110 111 例.令n=3。0和1的3元组对应单位正方体的8个角点上的点。 几何表示 单位n-方体:有2n个角,它们的坐标是0和1的2n个元组。 生成排列和组合 Gray码 在一个n-方体中,当两个角点的坐标只在一处不同时恰好有一条边连接着两个点。 生成0和1的n元组的算法对应着沿n-方体的边访问每一个角点恰好一次的路径,其中,这个n-元组具有性质:n-元组的后继仅仅在一处与该n元组不同。 这样的任意一条路径(或n元组的结果列表)称为n阶Gray码。如果能够再穿过一条边从路径的终点回到起点,那么Gray码就叫做是循环的。 生成排列和组合 Gray码的生成方式 单位1-方体 0 1 单位2-方体:通过拷贝两个1-方体并且连接对应的角点就可以建立一个单位2-方体。 00 01 10 11 单位3-方体:通过拷贝两个2-方体并且连接对应的角点就可以建立一个单位2-方体。 把0附加在一个拷贝的两个坐标前,把1附加到另一个1-方体的两个坐标前,首先沿着1-方体的一个拷贝的Gray码进行,穿行到另一个1-方体,然后再沿着这个1-方体的Gray码以相反的顺序行进,通过这种方式就得到该2-方体的循环Gray码。 000 001 010 011 100 101 110 111 以上述方式生成 的Gray码称为 反射Gray码 生成排列和组合 n阶反射Gray码的一般归纳定义 1)1阶反射Gray码是0,1; 2)设n1且n-1阶反射Gray码已经构建好,为了构建n阶反射Gray码, 首先已n-1阶反射Gray码所给出的顺序列出0和1的(n-1)元组,把0添加到每个(n-1)元组的开头; 然后,以n-1阶反射Gray码给出的相反顺序再列出(n-1)元组,并把1添加到各(n-1)元组的开始处。 生成排列和组合 0,0,0 0,0,1 0,1,1 0,1,0 1,1,0 1,1,1 1,0,1 1,0,0 0,0,0,0 0,0,0,1 0,0,1,1 0.0,1,0 0,1,1,0 0,1,1,1 0,1,0,1 0,1,0,0 1,0,0,0 1,0,0,1 1,0,1,1 1,0,1,0 1,1,1,0 1,1,1,1 1,1,0,1 1,1,0,0 由3阶Gray码生成4阶Gray码 生成排列和组合 以反射Gray码的顺序生成0和1的n元组的算法 如果a
文档评论(0)