线段树相关知识点

偶尔善良 提交于 2019-12-06 21:03:26

线段树实现功能:

区间查找和更新

 

时间复杂度:

更新:O(logn)查找:O(logn)

 

 

线段树内存需要开四倍大小,切记!!!

为什么需要开到四倍?

https://www.cnblogs.com/FengZeng666/p/11446827.html

理论上是2n-1的空间,但是你递归建立的时候当前节点为r,那么左右孩子分别是2*r,2*r+1,此时编译器并不知道递归已结束,因为你的结束条件是在递归之前的,所以编译器会认为下标访问出错,也就是空间开小了,应该再开大2倍。有时候可能你发现开2,3倍的空间也可以AC,那只是因为测试数据并没有那么大。

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!