社区
数据结构与算法
帖子详情
关于求全排列
shexinwei
2012-04-10 10:00:03
现在正在做的一个算法,由于问题的特殊性。一个排列(1,2,3)与它的逆排列(3,2,1)的结果是一样的。因此在程序中不需要计算逆排列。
因为一个长度为n的序列的排列个数有n!个,且都是对称的。即:其中n!/2是另外n!/2的逆排列。
怎样设计一个求全排列的算法,只求其中一半排列,而不用计算它们对应的逆排列?
...全文
166
8
打赏
收藏
关于求全排列
现在正在做的一个算法,由于问题的特殊性。一个排列(1,2,3)与它的逆排列(3,2,1)的结果是一样的。因此在程序中不需要计算逆排列。 因为一个长度为n的序列的排列个数有n!个,且都是对称的。即:其中n!/2是另外n!/2的逆排列。 怎样设计一个求全排列的算法,只求其中一半排列,而不用计算它们对应的逆排列?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shexinwei
2012-04-14
打赏
举报
回复
Thank you !!
[Quote=引用 7 楼 的回复:]
比如 (1,2,3,4,5)
分成
(1,2),(3,4,5)
==> (1,3,4,5,2),(1,3,5,4,2),(1,4,3,5,2),(1,4,5,3,2),(1,5,3,4,2),(1,5,4,3,2)
(1,3),(2,4,5)
==> (1,2,4,5,3),(1,2,5,4,3),(1,4,2,5,3),(1,4,5,2,3),(1,5,2,4,3),(1,5,……
[/Quote]
keeya0416
2012-04-11
打赏
举报
回复
比如 (1,2,3,4,5)
分成
(1,2),(3,4,5)
==> (1,3,4,5,2),(1,3,5,4,2),(1,4,3,5,2),(1,4,5,3,2),(1,5,3,4,2),(1,5,4,3,2)
(1,3),(2,4,5)
==> (1,2,4,5,3),(1,2,5,4,3),(1,4,2,5,3),(1,4,5,2,3),(1,5,2,4,3),(1,5,4,2,3)
.....
如此下去
keeya0416
2012-04-11
打赏
举报
回复
其实很简单
n 个数 分成 2 + (n -2) 两种组合
n-2 个数做全排
完事把另外2个数在 n-2 个数的全排的基础上首尾各放一个就行了
cnmhx
2012-04-11
打赏
举报
回复
do i=1,n;do j=1,i;do k=1,j;...
当然可以不用显式循环结构啦!
amani11
2012-04-10
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
找出一個與其他數都不等的數, 這個數只允許出現在(0,n/2)即可.
當然n是奇數的時候,當這個數出現在中間時需要特殊處理一下.
[/Quote]
nod,
LZ担心的算法复杂度,,理论上是一样的,hoho~~~
或者,你可以考虑算法的时候,先放头尾两个数,确保头<=尾即可,【任意某两位都可】
这样子还有去重问题,集合里有相同的数的时候,组合就没有N!这么多了
shexinwei
2012-04-10
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
如果空间允许,用hash_map去除逆排列。 设计一个hash函数,保证一个排列(1,2,3)与它的逆排列(3,2,1)的hash值相同。
[/Quote]
需要避免逆排列的计算,如果逆排列都计算出来了,还比较什么啊。。。。。。。那复杂度就没有任何降低啊。。。
I_code
2012-04-10
打赏
举报
回复
如果空间允许,用hash_map去除逆排列。 设计一个hash函数,保证一个排列(1,2,3)与它的逆排列(3,2,1)的hash值相同。
fire_woods
2012-04-10
打赏
举报
回复
找出一個與其他數都不等的數, 這個數只允許出現在(0,n/2)即可.
當然n是奇數的時候,當這個數出現在中間時需要特殊處理一下.
递归
求
全排列
.rar 递归
求
全排列
.rar
递归
求
全排列
.rar 递归
求
全排列
.rar 递归
求
全排列
.rar 递归
求
全排列
.rar 递归
求
全排列
.rar 递归
求
全排列
.rar 递归
求
全排列
.rar
求
全排列
的一个演示程序(C#编写)
常用的
求
全排列
的8种算法的C#实现程序:1.字典序法,2.递增进位数制法,3.递减进位制数法,4.邻位对换法……
lisp实现的字典序
求
全排列
第一次写的LISP程序,使用字典序
求
全排列
分治算法
求
全排列
问题
计算机算法设计与分析:分治算法
求
全排列
问题
递归
求
全排列
算法
递归
求
算排列算法;递归
求
算排列算法;递归
求
算排列算法;
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章