- 博客(2)
- 收藏
- 关注
原创 全排列非递归实现
对于一个数字1到4的全排列:1234-1243-1324-1342-1423-1432-2134-2143 …… 我们可以发现规律,找到下一个全排列序列的方法是: 1.从后向前找到第一个递增对(如1243中的43) 2.遍历递增对中第一个数字之后的数字a(如1243中递增对24中的2),从后向前找到第一个大于a的数字b(如1423中的3) 3.交换a,b两个数字(如1243交换后得到134
2015-05-15 15:42:01
372
原创 全排列递归实现
从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。 交换的思想,对于abc,第一个位置有a,b,c三种可能,a和b交换得到bac,a和c交换得到cba,即得到三种可能:abc,bac,cba,第一个位置三种情况均出现。接下来进行迭代,从第二个位置向后交换,当交换到最后一个位置,递归结束。 代码:
2015-05-15 11:28:57
265
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人