【发布时间】:2020-08-28 00:43:18
【问题描述】:
我需要做一个函数来获取 int 并做一个正方形的星形图案,就像我将 5 插入到它会给我的函数中一样:
*****
*****
*****
*****
*****
我想知道有什么性能更好的递归或迭代解决方案?递归解决方案的成本是多少?
【问题讨论】:
-
高度依赖于编程语言。
-
在大多数语言中,迭代实现可能更快,因为它避免了递归调用的开销。但我建议您简单地实现这两个版本并对其进行分析。
-
它可能不存在(因为大多数编译器无论如何都会优化尾递归),或者可以忽略不计,因为 IO(打印星号线)将比您花费的时间要多得多将通过更改迭代/递归来查看。
-
在 Java 中 @MrSmith42
标签: algorithm performance recursion runtime