线段树(Segment tree)
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
线段树
线段树是一种二叉树形数据结构,用以储存区间或线段,并且允许快速查询结构内包含某一点的所有区间。
视频讲解
线段树主要实现两个方法:「求区间和」&「修改区间」,且时间复杂度均为 O(logn)。
nums = [1, 2, 3, 4, 5] 对应的线段树如下所示:
使用数组表示线段树,假如结点为 i,那么其左结点就为 2 * i + 1,右结点就为 2 * i + 2。
class Node {
// 左右孩子节点
Node left, right;