- 4
- 0
- 约3.97千字
- 约 19页
- 2017-10-12 发布于湖北
- 举报
生成排列和组合1
* * * * * * * * * * * * * * * 一、生成排列 本节课我们将讨论排列和组合的某些排序方案以及执行这些方案的算法。 由前面知识可知,n个正整数组成的集合:{ 1,2,3,….n }有n!个排列,只要n稍大, n!的值也很大,例如15!比1 000 000 000 000还大。 例如:我们从{ 1,2,3,…5 }的排列中任意找一个 3 ,4, 5, 1, 2 ; 删去5后得到 3 ,4, 1, 2 ; 这个四个数的排列刚好也可以从{ 1, 2, 3, 4 }的排列中得到。它们的关系如右: 反之,求{ 1,2,3,….n } 的排列 也可以先求 {1,2….n-1} 的排列 再把n插在各个元素之间而得到 { 1,2,3,….n } 的排列。 * 5, 3, 4, 1, 2 3, 5, 4, 1, 2 3, 4, 5, 1, 2 3, 4, 1, 5, 2 3, 4, 1, 2, 5 这里介绍全排列两种算法: (A)字典序 法(B)错位置排法 1、字典序法 对给定的字符集中的字符规定了一个先后关系,在此基础上规定两个全排列的先后是从左到右逐个比较对应的字符的先后,数字按由小到大、字母按英文字母表顺序。 例 字符集{1,2,3},按较小的数字较先, 生成的全排列按字典序的顺序是: (123), (132), (213), (231), (312), (321) 这六个三位数是按由小到大的顺序排列的。 ※※ 一个全排列可看做一个字符串,字符串可以有前缀、后缀。例如1 2 3和 1 3 2 * 生成给定全排列的下一个排列 所谓一个的下一个就是这一个与下一个之间没有其他的。这就要求这一个与下一个 有尽可能长的共同前缀,也即变化限制在尽可能短的后缀上。 例: 839647521是1--9的排列。1--9的排列最前面的是123456789,也是1--9的排列中数值最小的;最后面的是987654321,也是1--9的排列中数值最大的;从右向左扫描若都是增的,就到了987654321,也就没有下一个了。 * * 我们对一个给定的排列寻找按字典序紧接的 下一个排列,就是要尽可能保留长的共同前缀,而去修改不同的字符和后缀。我们给出这样一种方法: 1. 对给定的排列,从右到左扫描各个字符,如 果这些字符从右到左是按字典序递增的,该 排列就是最后一个,没有下一个排列。 * 2. 从右到左扫描各个字符,如果第k个字符不是按字典序递增的,下一个排列可以将第k个字符增加一位后修改得到。 3.将第k个字符增加一位后,可能与该字符前缀中的字符重复,那就再增加一位,直到与前缀中的字符不重。 4.若第k个字符增加一位后,仅与该字符后缀中的字符重复,那就与后缀中重复的字符互换。 * 5.保留前缀和新的第k个字符,将后缀的字符按字典序重新排列就得到原排列紧接的排列。 例 按字典序求839647521的下一个排列。 解:最大的9-排列在最后,对于该排列,从右向左找出比右边数字小的第一个数4 ,将它加1(加后不与前缀的数字重复)变成5; 再对后缀从小到大重新排序1257,修改后缀中的重复数字5为4,接上前缀8396得到839651247,即是原排列839647521的下一个排列. 再对后缀从小到大重新排序1257,修改后缀中的重复数字5为4,接上前缀8396得到839651247,即是原排列839647521的下一个排列. 例 按字典序求集合{a,b,c,d,e}的一个5-排列ebadc下一个排列. 解:英文字母序是:abcde;将5-排列ebadc从右向左扫描,从右向左找出比右边字母先的第一 * * 个字母a ,将它增加1位变成b后与前缀中的字母重复,再将它增加1位变成c后不与前缀中的字母重复,保留前缀eb将a换成c,把后缀dc中的重复字母c换成a,对新后缀按字典序重新排列成ad ;即得到新的排列是:ebcad ; 这个排列就是紧接着5-排列ebadc最近的一个排列。 二、 错位排法 (1)当n=1,排列方式只有一种,就是1。(2)当n=2时,先将惟一的1-排列1写出两次,并错位置插入2,即得两个2-排列如下: * 1 2 2 1 (3)当n=3时,先将两块2
您可能关注的文档
- 现场施工安全管理暂行办法.doc
- 现场消防防火方案.doc
- 现场焊接施工管理规定.doc
- 现场管理类隐患排查治理台账.docx
- 现场量化管理中的人、机、料、法、环.ppt
- 现场管理十大利器二.ppt
- 现场管理基础知识探讨会.ppt
- 现浇箱梁技术交底记录.doc
- 现场装配基础知识培训.pptx
- 现浇混凝土箱梁,框架梁方案.doc
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
原创力文档

文档评论(0)