看动画学算法之:线段树-segmentTree
生活随笔
收集整理的這篇文章主要介紹了
看动画学算法之:线段树-segmentTree
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 簡介
- 最小線段樹
- 線段樹的構建
- 線段樹的搜索
- 線段樹的更新
- 線段樹的復雜度
簡介
什么是線段樹呢?線段樹是一種二叉搜索樹,與區間樹相似,它將一個區間劃分成一些單元區間,每個單元區間對應線段樹中的一個葉結點。
線段樹的每個節點都表示一個區間,而根據線段樹的不同特征,線段樹的節點值可以表示這個區間里的最小值,最大值或者sum值等等。
最小線段樹
下面我們以最小線段樹為例來說明一下線段樹的特性:
如果原始數據是一個數組,我們也以數組來表示線段樹。
假設生成的線段樹的起點index=1,并且對線段樹中的每個非葉子節點index k來說,它的左子節點index=2* k, 而它的右子節點index=2* k+1 。
上圖中,標黃色的是原始數組,總共有七個元素。
上面的樹形結構就是根據原始
總結
以上是生活随笔為你收集整理的看动画学算法之:线段树-segmentTree的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java安全编码指南之:表达式规则
- 下一篇: java安全编码指南之:Number操作