深入浅谈之递归全排列问题

2025-05-20 02:43:40

所谓递归算法,也就是直接或间接调用自己的算法,自己调用自己的函数也就是递归函数。

递归的特点与性质:1逻辑方法不变2规模不断变小。3注意一个终止条件。

这里谈一下全排列问题,全排列对于新手来说也是比较容易理解的。

首先我们来全排列ABCD这一序列。

写一个perm方法:perm(int a[],int n,int k)

a[]:代表要排列的内容用数组存放。

n:表示要排列几个数。

k:表示当前排列的状态排列到第几个数。

逻辑方法不变:每一层都是排列

规模不断变小:排完第一个位置后排后面(n-1)个位置,依次递推。

终止条件:排到最后一个的时候(本次采用的是交换方法所以只需排到n-1就行了)

如图所示

深入浅谈之递归全排列问题

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢