木構造
データ同士に階層的な親子関係や主従関係を持たせたデータ構造
●節:木構造の各データ
●根:1番上の部分
●葉:1番下の部分
木構造ではデータは親子関係になっており、枝で結ばれた上の節を親、下の節を子と呼ぶ。
親の左の子についている枝、節、葉をまとめて左部分木といい、右は右部分木という。
<2分木>
●2分木
根やそれぞれの部分から出る枝が全て2本以下の木
●完全2分木
2分木の中でも、根から葉までの枝の数が全て一緒の2分木
●2分探索木
どの節においても、常に親のデータが左部分木のデータより大きく、右部分木のデータよりも小さいという条件を満たした状態の木。
親より左には小さいデータ、右には大きいデータしかいないので、必要なデータを探索する時に少ない回数で行える。
●ヒープ
全ての節で親<子、または親>子の関係が成り立つ状態にした木
根が全ての要素の中で最小値もしくは最大値をとる。