如果代码中的循环内存在循环。使用函数来完成内循环的任务,真的可以减少程序运行所花费的时间吗? 而不是
for i=0 to i=upper limit {
for j=0 to j= less than or equal to upper limit {code here}
使用
for i=0 to i=upper limit
function(); (call a function which contains the innner for loop)
这有助于优化代码吗?
答案 0 :(得分:1)
您无法隐藏功能中的复杂性,例如:
for x = 1 to N
doSomethingXTimes(x)
doSomethingXTimes()
取决于N
这一事实意味着整个事情都是O(n2)
,因为您正在执行N * N
(或某些与此成比例的值)步骤
答案 1 :(得分:0)
就算法复杂性而言,这不会优化您的代码。
此外,通过在外部for循环中使用函数,您将只增加代码中的函数调用次数并使其更慢。 (你可以使函数内联)