デカルト木
O(N)は、バイナリツリーのノードを確立することは、ほとんどの現在の値サブツリーです。
コード:
ボイドビルド(){ int型のn; scanf関数(" %のD "、&N) 以下のために(int型 I = 1(のscanf ++ I; iは= N <)" は%d "、&[i])と、L [I] = R [I] = 0 ; トップ = 0 ; 以下のために(int型 i = 1 ; iが<= N; ++ I){ 一方(上部&& [STA [トップ]> [I])L [I] = STA [top-- ]。 もし(トップ)R [STA [トップ] = I。 STA [ ++トップ] = I; } }