免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1444 | 回复: 4
打印 上一主题 下一主题

排列组合问题!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-10-02 15:39 |只看该作者 |倒序浏览
写一个函数打印出"abcde"字符串的全部排序情况,求个好的算法,大家费心了!!

论坛徽章:
0
2 [报告]
发表于 2005-10-02 16:06 |只看该作者

排列组合问题!!

是用next/prev permutation吗?

论坛徽章:
0
3 [报告]
发表于 2005-10-02 20:19 |只看该作者

排列组合问题!!

求排列的问题都可以转化为求数组下标12345......的排列问题

字典序法:

这里p代表数组下标。

由一个排列p[1]p[2]p[3]p[4]...p[n]生成下一个排列的过程:
   
(a)求满足关系式p[j-1]<p[j]的j的最大值,设为i,即
     i=max{j|p[j-1]<p[j]}
(b)求满足关系式p[i-1]<p[k]的j的最大值,设为j,即
     j=max{k|p[i-1]<p[k]}
(c)p[i-1]与p[j]互换,得P[1]P[2]..P[i-1]PP[i+1]..P[n]
(d)PP[i+1]..P[n]的顺序逆转,便得到所求的下一个排列

论坛徽章:
0
4 [报告]
发表于 2005-10-02 23:02 |只看该作者

排列组合问题!!

以前随手写的
用数组位置交换效率更高点,偶没改
你可以参考下

http://blog.chinaunix.net/article.php?articleId=37592&blogId=8642

论坛徽章:
0
5 [报告]
发表于 2005-10-03 11:37 |只看该作者

排列组合问题!!

P("abc"="a"*P("bc"+"b"*P("ac"+"c"("ab"
="a"*("bc"+"cb"+"b"*("ac"+"ca"+"c"("ab"+"ba"
="abc"+"acb"+"bac"+"bca"+"cab"+"cba"
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP