アルゴリズムは、順次・選択・繰返しの基本制御構造でほとんど表現できる。これらの3つの制御のみで記述されるものを構造化プログラミングと呼ぶ。
変数はデータを入れる箱。その箱に付けた名前を変数名。
アルゴリズムをフローチャートの図で表現したものを、流れ図という。
ハッシュ検索
データが格納されている場所をハッシュ関数で管理する。商品番号がハッシュ関数を通ると、ハッシュ値に変換されて、探したいデータがすぐに見つかる。
ただし、違うキー(商品番号)なのに、同じハッシュ値が出てしまうコリジョン(衝突)が発生することがある。
コリジョンが起きたときは、チェイン法でキーに対応するデータを用意しておくことで解決する。
整列アルゴリズム
選択法と交換法(バブルソート)などがある。
選択法
最小値から順番に、先頭に格納していく整列方法。
i番目に小さい値を2つ目から検索する。
A[m]>A[j]: jの方が小さければ、mにjを代入する
m←j
j←j+1: jをインクリメント
バブルソート
左端から、隣り合う要素同士を比較して、小さければ左にずらしていく。最大値は右端に集まる。隣同士を比較して繰り返していくので、回数が多くなってしまうのがデメリットでもある。