确定指数时间复杂度

时间:2014-08-07 08:36:31

标签: algorithm time-complexity

我已经非常善于计算时间复杂度,但我仍然对如何确定指数时间算法感到困惑。下面的算法具有最差情况下的运行时间O(k ^ n)。他们是如何获得这个价值的?第一个for循环占用 n 时间,第二个for循环占用 k 时间,而第三个for循环 q 时间令人困惑。如果运行时间 n * k * q -something,他们是如何获得O(k ^ n)的?

int exp(k, n) {
    power = 1
    for i = 1 to n {
        newpower = 0
        for j = 1 to k {
            for q = 1 to power {
                newpower++
            }  
        }
        power = newpower
    }
    return (power)
}

0 个答案:

没有答案