-
區間樹
鎖定
區間樹是在平衡樹基礎上進行擴展得到的支持以區間為元素的動態集合的操作,其中每個節點的關鍵值是區間的左端點。
- 中文名
- 區間樹
- 定 義
- 在平衡樹基礎上進行擴展得到的支持以區間為元素的動態集合的操作,其中每個節點的關鍵值是區間的左端點
區間樹結構簡介
相比於基礎的數據結構,增加了一個max[x],即以x為根的子樹中所有區間的端點的最大值。區間樹如圖1所示:
這裏的區間查找的並不是精確查找,而是查找和給定區間重疊的元素,重疊的定義如圖2所示:
圖2中(a)表示兩個區間重疊的情況,其他的(b)、(c)表示沒有重疊的情況。
區間樹區間查找
實現INTERVAL-SEARCH(T, i),返回一個和區間i重疊的區間,若無,則返回nil[T]。基本思想是我們通過左子樹的max進行劃分:如果左子樹的max值小於low[i],則左子樹不存在這樣的區間和i重疊,轉到右子樹;否則,轉到右子樹,因為左子樹的端點小於右子樹,若左子樹無可能,右子樹也必然不可能。
- 參考資料
-
- 1. 區間樹 .zhanglei8893的專欄[引用日期2013-04-09]
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:12次歷史版本
- 最近更新: baichao0627