133******90
deepin
2017-09-20 17:53 打印hallo的语句不在for语句里面。。。
全排列以{A,B,C}为例:
第一次,A和A互换位置 (A和A互换位置,位置不变),还是A,{B,C}; {B,C}继续做全排列(递归);恢复A和A的位置。
第二次,A和B互换位置(第二个数与第一个数交换),变成B,{A,C}; {A,C}继续做全排列(递归);恢复A和B的位置。
第三次,A和C互换位置(第三个数与第一个数交换),变成C,{B,A}; {B,A}继续做全排列(递归);恢复A和C的位置。
这就是“将整组数中的所有的数分别与第一个数交换,这样就总是在处理后n-1个数的全排列。”
全排列以{A,B,C}为例:
第一次,A和A互换位置 (A和A互换位置,位置不变),还是A,{B,C}; {B,C}继续做全排列(递归);恢复A和A的位置。
第二次,A和B互换位置(第二个数与第一个数交换),变成B,{A,C}; {A,C}继续做全排列(递归);恢复A和B的位置。
第三次,A和C互换位置(第三个数与第一个数交换),变成C,{B,A}; {B,A}继续做全排列(递归);恢复A和C的位置。
这就是“将整组数中的所有的数分别与第一个数交换,这样就总是在处理后n-1个数的全排列。”
Reply Like 0 View the author


中文
谢谢!!感觉从原理到代码的实现让我想是想不出来的,写着算法的人是咋想的呢





欢迎吐槽