データ構造について勉強する。

データ構造

ヒープ最小値(または最大値)を簡単にみつけることができる構造。 よく二分岐で実装されているので二分ヒープをすぐ連想してしまいがちだが、ヒープそのものの定義はこれだ。 上の図からは木 に属していることが分かる。

二分木とは根付きの木構造でそれぞれのノードは1個、または2個持つ構造(0個のノードは葉ノードとよびます。。 ノードが三つ以上になると多分木と呼ばれる。
二分岐の中でも、全てのノードは2個のノードをもつことが約束されているものを全二分木 (full binary tree)、さらに全ての葉までの深さが同じものを完全二分木(perfect binary tree, complete binary tree) という

木構造をおさらい。
木の構造は最初の元のノードを根ノード、末端のノードは葉ノード、それ以外の中間のノードは内部ノードまたは単にノードと呼び分けます。

平衡木は葉ノードまでの深さが全て一緒の木構造wikiにはまだ説明が追加されていなかったが、字をそのまま理解すれば抑えられる。(先程説明した完全二分木は平衡木といえる)

トライ木は、木構造の一種で各ノードは文字列を持ちは葉ノードに値を持つ。keyを文字列とする連想配列の実装によくつかわれるらしい。うん、共通する部分は共有できるのでメモリが節約できますね。