アルゴリズムの三大処理
- 順次処理
- 処理を記述した順番に実行する。
- 分岐処理
- 条件により処理の流れを変える。
- 繰り返し処理
- 条件が成立する間、処理を繰り返す。
全てのアルゴリズムは、必ずこの3つの処理の組み合わせから構成される。
この3つの処理を組み合わせてプログラムを設計する方法論のことを__構造化プログラミング__という。
アルゴリズムの性質
アルゴリズムが成立する条件として、__正当性__と__停止性__が必要。
-
正当性
- 与えられた課題に対して正しい結果を返すこと。
-
停止性
- 有限時間内で必ず正しく停止すること。
その他のキーワード
- 部分正当性
- アルゴリズムの任意の一で、その時点で満たされるべき条件が必ず成立していること。(アサーションが成立しているという)
- 無限ループ
- 停止性がない手順のこと。
データ構造の基本
__データ構造__とは大量のデータを効率よく管理する仕組みのこと。データは、__データ型__によって分類されている。
整数型、実数型、文字型、文字列型、論理型
用語
- 変数
- データを格納するメモリ上の領域のこと
- 変数名
- 変数同士を区別するためにつける名前
- 代入
- 変数にデータ(値)を入れること
- 計算のために、式中の文字に、ある特定の値を与えること。
主なデータ構造
- 配列
- 同じ種類のデータをくすう並べたデータ構造。
- 一直線上に値を並べた一次元配列、縦横に値を並べた二次元配列、その他、三次元配列、多次元配列などがある。
- 大きさは予め固定されている。
- リスト
- 同じ種類のデータに順序付けをして並べたデータ構造
- 配列と違い、順序を付けられる。
- データの挿入、削除が容易。
- スタック
- 机に本を積み上げていくように、データを管理する方法。
- データを入れた順序と、逆順にデータを取り出すことができうr.
- キュー
- スタックとは逆にデータを入れた順に取り出すことができるデータ構造
- ツリー
- 枝先にデータを持ち、そこからまた枝分かれしていく構造
参考
一週間で身につくアルゴリズムとデータ構造|トップページ~プログラマーなら身につけておきたい、アルゴリズムの基本。
http://sevendays-study.com/algorithm/index.html