我有这个代码来计算某个数字的幂
func power(x, n int) int {
if n == 0 {
return 1
}
if n == 1 {
return x
}
if n%2 == 0 {
return power(x, n/2) * power(x, n/2)
} else {
return power(x, n/2) * power(x, n/2) * x
}
}
去游乐场:
所以,执行的总数是 1 + 2 + 4 + ... + 2^k
并根据几何级数公式
一(1-r^n)/(1-r)
执行时间的总和将是 2^k,其中 k 是二叉树的高度
因此时间复杂度为 2^logn
我对么?谢谢 :)
繁花不似锦
千巷猫影
相关分类