递归用法之“全排列算法”
简介: 用递归写出全排列算法也不简是什么新问题了,网上随便一搜就能发现很多。本文就其中的一种算法——个人认为代码量最少的一种——进行一些基本的解释,以便有兴趣的读者能理清思路,共同探讨递归的妙用。全排列的过程: 简单起见,我们假设只要对ABCD四个字母进行全排列操作。运用递归的方法我们先假想有一个函数P当输入是ABC时能对ABC进行全排列操作。在这个基础上我们可先把ABC输入函数P,那么我们得到一组以D结尾的排列{ABC}D,其中{ABC}在本文表示对ABC的全排列。然后让D和A进行交换,这样ABCD的次序就变成了DBCA;我们再把头三个字母DBC输入函数P,那么我们得到另一组以A结尾的排..
posted @ 2011-09-04 12:24 keenlog 阅读(1245) 评论(2) 推荐(0)