如何找到我可以用3个字符创建的所有字符串

时间:2017-10-25 21:40:05

标签: recursion iteration pseudocode

我有3个字符" abc"。
所有这3个字符的组合都是3 ^ 3 = 27: aaa,aab,aac,aba,...等。

我写了一个伪代码来打印所有这些组合:

string dictionary[3] = {"a", "b", "c"};
string str[3];

for (i=0;i<3;++i) {
    str[0]=dictionary[i];
    for (j=0;j<3;++j) {
        str[1]=dictionary[j];
        for(k=0;k<3;++k) {
            str[2]=dictionary[k];
            println(str);
        }
     }
 }

现在,我可以看到所有循环都从0开始,到2结束。 所以我认为有一种方法可以将此函数作为递归函数,尽管实际上没有基本步骤可以区分。 所以,我问自己:

  1. 是否真的可以为此类问题创建递归函数?
  2. 如果它存在,它会比迭代方法更有效还是更低效?
  3. 如果可用字符的数量会增加,性能会更糟还是更好?

0 个答案:

没有答案