递归调用是否会影响空间复杂度?

时间:2014-10-10 00:11:02

标签: algorithm stack complexity-theory space-complexity

当一个算法不使用超过一定数量的辅助内存但是有O(log(N))个递归调用(每个都需要在堆栈上占用一些空间)时,该算法的空间是多少复杂度O(1)O(log(N))

1 个答案:

答案 0 :(得分:6)

如果递归算法没有利用尾递归,那么,是的,直接实现将使用O(log(N))空间。这是因为运行时必须同时在内存中保留O(log(N))个堆栈帧,每个O(1)大小。