データ構造


■ 木構造。

  基本的なデータ構造の1つ。データ同士の階層関係を表す。
  1つのデータから複数のデータに分岐していく構造になっている。

  木構造において、各要素を節(ノード)、それを結ぶ線を枝(ブランチ)と呼ぶ。
  また、最上位の節を根(ルート)、最下位の節を葉(リーフ)という。
  隣接要素の上下関係は、親、子と呼ぶ。

  

■ 完全2分木

  すべての枝の分岐が2つ以下である木のことを、2分木という。

  2分木の中でも、特に根からすべての葉にいたる階層数が
  等しくなっているような2分木を、完全2分木と呼ぶ。

  一般には、階層数の差が1以下の場合を含めて、完全2分木と呼ぶ。

  

■ 2分探索木。

  2分木の各節に探索キーを与えて探索を可能としたもの。
  2分探索木では、左部分木と右部分木をたばねる節に対して、
  両部分木が持つキーの中間のキーを割り当てる。

  データを検索する場合には、
  節ごとのキーと探索対象データのキーとの大小を比較し、
  検索対象が左にあるか、右にあるかを絞り込む。
  なお、最も効率的な2分探索木は、完全2分木である。

  

■ ヒープ。

  親節のキーと子節のキーの大小関係が、つねに一致している完全2分木。
  ヒープには、親>子の場合と、親<子の場合の2種類がある。

  前者の場合は、根のキーが最大値、葉のキーが最小値となる。
  後者の場合は、根のキーが最小値、葉のキーが最大値となる。

  

■ スタック。Stack。

  データの挿入や削除の操作を、リストの片側だけで可能にしたデータ構造。
  最後に格納したデータは、データを取り出すとき、一番最初に取り出される。
  すなわち、後入れ先出し(LIFO:Last In First Out)の性質を持つ。

  スタックは、コンピュータの中で、サブルーチンが呼ぶ出されたとき、
  戻りアドレスを記憶しておくのに利用する。
  スタックを利用することで、サブルーチンが入れ子になる再帰手続きにおいても、
  正確に元のアドレスに戻ることができる。

  なお、スタックにデータを追加する操作をプッシュ(Push)といい、
  逆にスタックからデータを取り出す操作をポップ(Pop)という。

■ キュー。Queue。

  データの挿入が片側だけから行われ、
  データの削除がもう一方だけで行われるデータ構造。
  最初に格納されたデータが、最初に処理される。
  すなわち先入れ先出し(FIFO:First In First Out)の性質を持つ。

  待ち行列は、コンピュータの中で、先着順に処理すべきあらゆる場面で使われる。
  例えば、マルチタスク環境で、複数のタスクにCPU時間を割りあてる際に
  使用されている。

  なお、待ち行列にデータを追加する操作をエンキュー(Enqueue)といい、
  逆にデータを取り出す操作をデキュー(Dequeue)という。

以上。

2004/03/10 pm


HOME |  BACK

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル