根据大O找到算法复杂度

时间:2014-09-21 14:32:04

标签: algorithm

以下代码段的运行时间大O是多少? [假设f1(n)=O(n)]

function Recurse(A[1..n])
        f1(n)
        t1 <-- Recurse(A[1..(n-1)])
        t2 <-- Recurse(A[(2..n])
        return (t1+t2)
end function

O(n) ??或其他什么?

1 个答案:

答案 0 :(得分:0)

这在f1O(2^n)调用的调用中是指数级的。因此,如果f1O(n),那么这将显示为O(n 2^n)

你有n个步骤,并且在每个点上,它细分为两个分支。它与高度为n的完整二叉树相同。