完全2分木
Complete Binary Tree
かんぜんにぶんぎ
根から最下層の一つ上の層まですべての節が埋まり、最下層の節は左から詰めて配置された2分木。節の数nに対して高さがおよそlog₂nに抑えられ、配列で効率よく表せるため、ヒープの実現に使われる。
Related
他の資格での定義
Related
関連キーワードの用語
各節点の子の並び順に意味がある木。2分木の左の子と右の子のように、子を第1子、第2子と区別して扱う。子の順序が決まっているので、先行順・中間順・後行順といった節点の訪問順(走査)が定まり、構文木や2分探索木はこの性質を前提としている。
出現頻度の高い記号には短いビット列を、低い記号には長いビット列を割り当てる可変長の符号化方式。出現頻度を基に2分木を作って符号を決め、どの符号も他の符号の先頭部分にならないため、区切りなしで一意に復号できる。可逆圧縮の基本的な手法で、JPEGやZIPの中でも使われる。
データを、根(ルート)から枝分かれする親子関係で階層的に表すデータ構造で、子を持たない節を葉という。ファイルシステムのディレクトリやデータベースの索引などに使われ、子が最大2つの2分木やB木など多くの種類がある。
データからヒープ(親が子以上の値を持つ完全2分木)を作り、根にある最大値を取り出してヒープを作り直す操作を繰り返して整列するアルゴリズム。最悪でも計算量はO(n log n)で、作業用の領域もほとんど要らない。
各ノードが最大2つの子ノードを持つ木構造。左の子と右の子に分かれる。2分探索木、ヒープ、式木など多くの応用がある。探索や整列の効率的な実装に使われる。
左の子ノードの値が親より小さく、右の子ノードの値が親より大きいという条件を満たす2分木。探索・挿入・削除の平均計算量がO(log n)で効率的。バランスが崩れるとO(n)に悪化する。
