🌳 线段树 · 动态演示 固定数据 [2, 5, 1, 8, 3, 7, 4, 6]

▶ 📖 线段树 · 原理与操作

线段树(Segment Tree) 是一种二叉树,用于高效处理区间查询和区间更新问题。

  • 每个节点代表一个区间 [l, r]
  • 叶子节点代表单个元素
  • 内部节点存储其左右子节点的合并值(区间和)

📌 核心操作

Build(建树): 从叶子到根递归构建,每个节点存储区间和。

Update(单点更新): 从根到叶子找到目标位置,更新叶子值,然后回溯更新父节点。

Query(区间查询): 从根开始递归,若当前区间完全在查询范围内则直接返回,否则递归左右子树合并结果。

时间复杂度:Build O(n),Update/Query O(log n)

当前操作节点 更新路径 被更新的叶子 查询完全命中 查询部分重叠 已计算 / 不相交

📊 线段树结构 (区间 : 值)

📝 当前步骤 0 / 0
点击「建树」开始演示

📋 操作历史

🟦 当前步骤  |  🔵 建树  |  🟡 更新  |  🟢 查询
✅ 操作完成!