首页 > 解决方案 > 如何找到具有多个循环和递归的代码段的时间复杂度

问题描述

我附上了两个我想找到时间复杂度的代码段。

对于第一个,我尝试使用各种 n 值,并认为它应该在 O(n) 左右。但是,由于有两个循环引用不同的变量,我对如何分析代码以找出复杂性有点困惑。代码段 1

1: i = j = k = 0

2:而 k 6 n 做

3: 我 = 我 + 1

4: j = j + i

5:k = k + j

6:对于 h = 1 到 j 做

7: F(i, j, k, h)

8:结束

9:结束时

第二个是关于递归的。由于我之前没有使用递归分析代码的经验,所以我真的不知道如何从这个开始。任何提示将不胜感激。代码段 2。谢谢。

1:函数 F(开始)

2:如果开始 > n 则

3:返回

4:如果结束

5: for k = begin to n − 1 do

6: F(k + 1)

7:结束

8:结束函数

标签: time-complexity

解决方案


推荐阅读