0

任何人都可以帮助我如何以迭代和递归方式打印字符串的所有排列吗?我更喜欢 VB.NET 或者只是伪代码就可以了。

提前致谢。

4

1 回答 1

3

递归方法如下:

基本情况:1 个字母的排列是一个元素。

一般情况:一组字母的排列是每个字母的列表,与其他字母的每个排列连接。

解释:

如果集合只有一个字母,则返回该字母。排列(a) -> a

如果集合有两个字母,则为每个字母返回它以及其余字母的排列。

排列(ab)->

a + 排列(b) -> ab

b + 排列(a) -> ba

对于集合中的每个字母,返回与其余字母集的排列连接的字母。

排列(abc)->

a + 排列(bc) --> abc, acb

b + 排列(ac) --> bac, bca

c + permutation(ab) --> cab, cba

于 2012-11-08T22:43:46.910 回答