线段树小结
线段树小结
最近几天连着做了十几道线段树的题,虽然是初学,但仍有些许经验想要总结一下.
关于什么样的题考虑使用线段树这一数据结构:
- 需要维护任意给定区间的某一特征
- 频繁的区间修改,区间查询
线段树本质上是采用空间换时间,对于给定数据量N,采用N<<2的空间复杂度,以二分的思想构造若干的区间的子段.这就好比任意一个给定的十进制数可以由二进制数表示一样,任何一段区间都可以被线段树的子段拼接得到,而这个拼接操作是logn的复杂度
---- suffer now and live the rest of your life as a champion ----