#全排列的两种方法#
1.【解答树】
假设序列为{1,2,3,4},形成全排列。解答树显示出了递归函数的调用过程。
可以近似看成深搜,一层层的解决问题。
这棵树和前面介绍过的二叉树不同。第0层(根)结点有n个子结点,第1层结点各有n-1个子结点,第2层结点各有n-2个子结点,第3层结点各有n-3个子结点,……,第n层结点都没有子结点(即都是叶子),而每个叶子对应于一个排列,共有n!个叶子。由于这棵树展示的是从“什么都没做”逐步生成完整解的过程,因此将其称为解答树。
提示:如果某问题的解可以由多个步骤得到,而每个步骤都有若干种选择(这些候选方案集可能会依赖于先前作出的选择),且可以用递归枚举法实现,则它的工作方式可以用解答树来描述。
这棵解答树一共有多少个结点呢?可以逐层查看:第0层有1个结点,第1层