什么是更好的递归或迭代星形模式?

What is better recursive or iterative star pattern?

我需要做一个函数来获取 int 并做一个正方形的星形图案,就像我将 5 插入函数中它会给我:

*****
*****
*****
*****
*****

不知递归或迭代有什么性能更好的方案?递归解决方案的成本是多少?

你的迭代函数比递归函数效果更好

递归函数多次调用自身直到错误条件不匹配递归调用。 让我们以下面的例子来理解更多 我们必须找到 n 的阶乘,其中 n=7 n=7;

int recfactorial(int n)
{
    if(n > 1)
        return n * recfactorial(n - 1);
    else
        return 1;
}

对于上面的函数 n 次递归调用,因此将使用 n 个堆栈。每次调用一个,因此它将使用 O(N) 辅助 space.

其中迭代函数

 for(i=1;i<=N;i++){    
      fact=fact*i;    
  }

你有 N 多重 for 循环所以你的时间复杂度将是 O(N) 。您将在不需要额外 space 的情况下完成整个工作,因此您的程序 Auxillary space 是恒定的,即 O(1)