标签: time-complexity complexity-theory
你能解释一下如何找到下面代码的时间复杂度吗?任何帮助表示赞赏。
int boo(n) { if (n > 0) { return 1 + boo(n/2) + boo(n/2); } else { return 0; } }
答案 0 :(得分:1)
有时候把它写下来是件好事。当你开始时,它总和1 + boo(n / 2)+ boo(n / 2),它在第二行。
并且每个n / 2也都运行
等。等
所以最后,虽然呼叫次数正在以指数方式增长,但重复的次数只是追溯性的,最后会相互删除而你得到了O(N)。