動的木

出典: ORWiki

【どうてきぎ (dynamic tree)】

最も多くの機能をもつ二分木形状のデータ構造. 大きさ n\, の木構造のグラフを二分木により保持し, 頂点の追加・削除, 木の分割・合併, ある頂点を根にする, ある値をもつ頂点があるか確認, 与えられたパス上の頂点の重みの最大値・総和を計算, ある頂点の子孫の重みの最大値・総和を計算, といった操作をすべて O(\log n)\, 時間で行う. 動的木は非常に複雑であるので, 構造が単純で, m\, 回の操作の合計計算時間が O(m\log n)\, となるスプレー木が多く使われる.