所谓变位字,就是任意给定一个字符串,比如"cat",产生出其全排列:"cat" "cta" "atc" "act" "tca" "tac"。这个问题有这样一种解决方法:假设有单词有n个字母。(并且假设字母均不相同)
1、全排列最右边的n-1个字母
2、轮换所有的n个字母
3、重复以上步骤n次
之后,我参考这个,再看书上的小程序,最后又自己动手重编了一遍,这其中还遇到了不少问题。我想,如果要我设计类似的算法,可能就更加困难了吧。
看来,递归,不容易啊,加油!
所谓变位字,就是任意给定一个字符串,比如"cat",产生出其全排列:"cat" "cta" "atc" "act" "tca" "tac"。这个问题有这样一种解决方法:假设有单词有n个字母。(并且假设字母均不相同)
1、全排列最右边的n-1个字母
2、轮换所有的n个字母
3、重复以上步骤n次
之后,我参考这个,再看书上的小程序,最后又自己动手重编了一遍,这其中还遇到了不少问题。我想,如果要我设计类似的算法,可能就更加困难了吧。
看来,递归,不容易啊,加油!