算法-段树内存

我已经看到了许多使用O(4 * N)内存的段树的实现.无论如何,段树是否要使用2 * N-1的内存?我找不到执行此操作的任何实现.即使他们说空间复杂度实际上是2 * N-1,他们仍然分配4 * N.

编辑:我的意思是,对于n个数字的数组,您将2n-1个数字的数组用于段树.每个实现都使用2 *(n的2的n次幂大于n)的数组.

我知道O表示法会省略常数,但是对于很大的n来说,它是2 * N-1还是4 * N就很重要,因此我问这个问题的原因.

最佳答案
O(4 * N)= O(2 * N)= O(N),因为O表示确实提取了常数因子.

wikipedia Big O notation

那么,您是指“精确使用2 * N-1内存”吗? Du你是说2 * N-1个字节吗?如果您的意思是O(2 * N-1),那么它等于O(4 * N),O(2 * N)和O(N).

转载注明原文:算法-段树内存 - 代码日志