【2分探索木】
木構造の頂点を「根(root)」と呼ぶ。
最下部を「葉(leaf)」と呼ぶ。
根から葉の途中にある要素を「節(node)」と呼ぶ。
各要素をつなぐ線を「枝(branch)」と呼ぶ。
★幅優先探索
根からスタートし、根に近い節から順に探索する方法。
同じ深さの場合、「左⇒右」の順に探索する。
★先行(行きがけ)順深さ優先探索
根からスタートし、左側にある要素を探索する。
要素の左を通った時にカウント。
★後行(帰りがけ)順深さ優先探索
左端の葉からスタートし、右の葉⇒上位の節、の順に探索する。
要素の右を通ったときにカウント。
★中間(通りがけ)順深さ優先探索
要素の下を通ったときにカウント。
【整列アルゴリズム】
★バブルソート(単純選択法)
隣り合う要素を比較して、大小の順が逆であればそれらの要素を入れ替えるという処理を繰り返す。
比較回数はO(n^2)。
★クイックソート
中間的な基準値を決めて、それよりも大きな値をまとめたもの、小さな値をまとめたものをそれぞれ振り分ける。
それぞれの区分の中で再度中間的な基準値を決めて、、、という処理を繰り返す。
比較回数は最良でO(n^2)、最悪でO(n log n)。
★マージソート
整列対象のデータ列に対して分割と併合を繰り返す。
★ヒープソート
未整列の部分を順序木にし、そこから最小値を取り出して整列済みの部分に移す。
2分木の形にしたときに、各節の値が「親≧子」または「子≧親」という規則で並ばせる。
比較回数はO(n log n)。
【引数の種類】
★値呼び出し(Call by Value)
プログラム中で関数やサブルーチンなどに引数を渡すときに、その値のみを渡す方式。
渡された関数などの中で値を変更しても、呼び出し元の変数の内容は変わらない。
★参照呼び出し(Call by Reference)
プログラム中で関数やサブルーチンなどに引数を渡すときに、変数への参照(メモリ中のアドレスなど)を渡す方式。
関数などの中で値を変更すると、元の変数も同じように変更される。
【プログラム構造】
★再入可能(リエントラント)プログラム
複数のタスクから同時に呼び出されても、それぞれに対して正しい結果を返すことが出来るプログラム。
★再帰(リカーシブ)プログラム
自分自身を呼び出しても正しい結果を返すことが出来るプログラム。
★再利用可能(リユーザブル)プログラム
プログラムの主記憶への展開を初回実行時のみ行い、以降は何度でも正しく使用できるプログラム。
再配置可能(リロケータブル)プログラム
プログラムを主記憶上のどの位置においても実行できるようにしたプログラム。
最終更新:2013年09月25日 17:07