← 返回首頁
Centroid Decomposition 重心分解
樹結構:
平衡樹 (7 節點)
星形樹 (8 節點)
毛毛蟲樹 (9 節點)
隨機樹 (10 節點)
載入
執行分解
重置
重心(Centroid)
當前子樹
已移除(removed)
請載入樹後點擊「執行分解」
原始樹(分解過程)
重心分解樹(建構中)
演算法說明
Centroid Decomposition
每次找到當前子樹的重心,以它為根,遞迴處理所有子樹。
重心定義
:移除後,所有剩餘子樹大小都 ≤ n/2
深度保證
:分解樹深度 ≤ log₂(n),因為每次移除重心後子樹大小至少減半
路徑問題
:任何路徑 u→v 必定經過某一層的重心 → 在 O(log n) 層逐層處理
典型應用
:統計長度 ≤ k 的路徑數量、樹上距離查詢
複雜度
:O(n log n) 建樹,O(log n) 查詢