线段树(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;
    
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6