用递归法进行n个数的全排列,思路是怎样的?c++实现 5

 我来答
xl549828
2012-10-25 · TA获得超过2312个赞
知道小有建树答主
回答量:806
采纳率:0%
帮助的人:801万
展开全部
比如1,2,3,4 可以变成 2,1,3,4 ,3,12,4 , 4,1,2,3 再把后面134, 12,4 , ,123 ,按同样的方法递归就行了,简单就用几个循环,然后逐次设置一个不等的条件就可以了
wqws16623
2012-10-26 · TA获得超过140个赞
知道答主
回答量:53
采纳率:0%
帮助的人:37.8万
展开全部
我们先假设要求解这样一个问题:
已知a1,a2,...,an是n个元素的一个序列,命名为Am0,现要求出这n个元素的全排列中与Am0的前m个元素相同的所有序列;
这个问题的解法分两步:
1、将序列Am0的m+1序号上的元素分别与m+1序号及以后的元素交换,得到n-m个新的序列(包括Am0本身),命名为Am0,Am1,Am2,...,Am(n-m-1)。我们认为这个时候这n-m个新序列的m+1序号上的元素已经确定;
2、分别对第1步得到的n-m个新序列求解同样的问题。
即求出n个元素的全排列中与Ami的前m+1个元素相同的所有序列。

现已知这n个数的任意一个序列A。
求n个数的全排列就是求出这n个元素的全排列中与A前0个元素相同的所有序列。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式