演算法:區間樹

CopperDong發表於2017-09-06

     區間樹常用於在一維陣列的特定區間對查詢進行快速回復。區間樹的最簡單的應用就是求區間最小值的問題。

假設對某個陣列A的子區間進行多次求最小元素的運算。例如,A={1, 2, 1, 2, 3, 1, 2, 3, 4},那麼區間[2, 4]的最小值是1。需要O(n)

區間樹的基本思路是,生成表示給定陣列各區間的二叉樹。此時,區間樹的根節點總是表示整個空間[0, n-1]。需要O(lgn)


相關文章