线段树 线段树是一种二叉树形数据结构,用以储存区间或线段,并且允许快速查询结构内包含某一点的所有区间。 视频讲解 线段树主要实现两个方法:「求区间和」&「修改区间」,且时间复杂度均为 O(logn)。 nums = [1, 2, 3, 4, 5] 对应的线段树如下所示: 使用数组表示线段树,假如结点为 i,那么其左结点就为 2 * i + 1,右结点就为 2 * i + 2。 class Node { // 左右孩子节点 Node left, right;