Algorithm学习笔记 --- 线段树单点更新

来源:互联网 发布:java开发人员平均年龄 编辑:程序博客网 时间:2024/05/21 09:38

前几天看了线段树的一些基础知识。这几天联系一下应用。这里我要整理的是单点更新:

首先看一张线段树的图:

//===============================================================//


//===============================================================//

首先看到的是这个是1到5的线段树用数组a[5]={1,5,4,1,6};表示。

那么更新前线段树的形态是:

//===============================================================//


//===============================================================//


那么接下来什么叫做单点更新呢?

比如说想更新啊a[2]原来a[2]是5.现在将a[2]改为3.则:

//===============================================================//


//===============================================================//

如图所示从叶子节点的[2,2]一次向上更新整理的更新操作叫单点更新,虽说是单点更新,但是向上的对应的一些点也需要变化。

一直变化到根节点,完成单点更新。

更新的步骤分为建树,查询到更细的单个节点,向上收,还有向上更新。

build     query       pushUP     update等操作。

0 0
原创粉丝点击