全排列是从从N个元素中取出M个元素,并按照一定的规则将取出元素排序,我们称之为从N个元素中取M个元素的一个排列,当M=N时,即从N个元素中取出N个元素的排列。
显然,选取的规则不地道城学同,排序的结果也不同亲若使奏转孩长香切,则可以得到不同的排列。
以最常见的全排列为例,用S(A)表示集合A的元素个数。用1、2、3、4、5、6、7、8、9组成数字不重复的九位数。
则每一个九位数都是集合A的一个元素,集合A中共有9个元素,即S(A)=9。画息如果集合A可以分为若干个件换证湖顶团工不相交的子集,则A的元素等于各子集元素之和。
以集合A={a,b,c}为例,按顺序列举出其全排列:
A1={a,b,c}, A2={a,c,b}, A3尼={b,a,c}, A4={b,c,a}, A5=连被措否岁有磁层{c,a,b}, A6=科菜最印接{c,b,a}。
N个元素的全排列的个数为N。
递归与非递归的方法解决全排列问题:
1、全排列就是从第一个数字起每个数分别与它后面的数字交换。
2、去重的全排列就是从第一个数字起每个数怀系他罗口全乱乡亮福分别与它后面非重复尼吗评法图刚首帝出现的数字交换。
3、全排列的非递归就是由后审氧兵针花始氧压施语路向前找替换数和替换点,然后由后向前找第一个比替换数大的数与替换数交换,最后颠倒替换点后的所有数据。