我见过很多使用O(4*N)内存的线段树实现。是否有办法让线段树只使用恰好2*N-1的内存?我找不到任何这样的实现。即使它们谈论空间复杂度实际上是2*N-1,它们仍然分配4*N的内存。
编辑:我的意思是对于一个包含n个数字的数组,您可以使用一个包含2n-1个数字的数组来构建线段树。每个实现都使用一个包含2 *(大于n的下一个2的幂)的数组。
我知道O符号省略常数,但对于非常大的n,2*N-1和4*N之间的差别很重要,这就是我提出这个问题的原因。
编辑:我的意思是对于一个包含n个数字的数组,您可以使用一个包含2n-1个数字的数组来构建线段树。每个实现都使用一个包含2 *(大于n的下一个2的幂)的数组。
我知道O符号省略常数,但对于非常大的n,2*N-1和4*N之间的差别很重要,这就是我提出这个问题的原因。