数据结构线段树

https://www.bilibili.com/video/av16552942?from=search&seid=13163420448884679920

一、线段树

1.线段树

维护区间信息(可合并性)
合并区间信息
单次操作时间复杂度O(logn)
单次空间复杂度O(n)

2.线段树存储方式

(1)堆式存储

(2)节点存储

strcut Node{int sumv,lc,rc}

二、权值线段树

  1. 维护全局的值域信息,每个节点记录的是该值域的值出现的次数。
  2. 用了二分的思想。
  3. 支持查询全局K小值,全局rank,前驱、后继等。
  4. 单次操作时间复杂度是O(log n)
  5. 空间复杂度是O(n)
  6. 相对于平衡树的优势:代码简单、速度快。
  7. 劣势:值域较大(10^9),需要离散化,就变成了离线的数据结构
posted @ 2018-05-05 00:56  Bryce1010  阅读(76)  评论(0编辑  收藏  举报