排列问题
{1,2,3}的所有排列情况为:123,132,213,231,312,321 六种情况,即3!
主要有两种常见的方法来求全排列问题,递归或者迭代法都可以。
1. 交换法
每个数字(包括第一个数字)分别与第一个数字交换:
123 213 321
基于上面的结果,后面的数字都与第二个数字交换:
132 231 312
2. 抽取法,可以保证从小到大
任意抽取一个数字放在第一位:
1** 2** 3**
从剩余的数字中任意抽取数字放在第二位:
12* 13* 21* 23* 31* 32*
从剩余的数字中任意抽取数字放在第三位:
123 132 213 231 312 321