コース: プログラミングの基礎:アルゴリズム
はじめに配列を理解する
並び替えや探索など、 基本的なアルゴリズムの多くで 配列が使用されています。 まず、配列とはどのようなものであるのかを 理解しましょう。 プログラムでは、 データを「変数」と呼ばれる入れ物に 格納して扱います。 変数には、整数型・実数型・ 文字型・文字列型のように、 格納するデータごとに型を指定します。 例えば、学生の氏名は「文字列型」、 年齢やテストの点数は「整数型」、 身長や体重は「実数型」のように 格納するデータに応じて 型を決めて扱います。 そして、ひとりの学生の情報は 「変数」で扱いますが、 複数の学生の情報は「配列」で扱います。 配列は、 同じ型のデータからなる 最も基本的なデータ構造です。 配列を用いると、 関連のある同じ型のデータを まとめて扱うことができます。 効率の良いプログラムを作成するには、 配列の利用は必要不可欠です。 並び替えや探索など、 基本的なアルゴリズムの多くは、 配列要素を扱います。 例えば、5人の学生の番号を扱う場合、 変数では5個の変数を 別々に用意する必要がありますが、 配列では、要素数5の配列を 1つ用意すれば済みます。 5個くらいでは、 別々な変数で扱っても それほど大変ではありませんが、 これが 100 個、1,000 個と 数が多い場合には、 配列を使わないで プログラムを書くことはできません。 ですから、この学生の番号のように、 同じ型の共通の目的を持つ要素は、 まとめて配列として扱います。 配列は一般的に「添字」 あるいは「インデックス」と呼ばれる 数値で、位置を特定します。 添字が1から始まる プログラミング言語もありますが、 一般的には添字は0から始まります。 要素数5個のナンバーという 名前の配列の場合には、 先頭から順に no[0]、no[1]、no[2]、 no[3]、no[4]で表します。 この例のように、 多くのプログラミング言語では 角括弧で添字を囲みますが、 中には、BASIC のように 丸括弧で囲むものもあります。 縦方向だけの配列を 1次元配列と呼びます。 配列には、2次元以上の 多次元配列も存在します。 いくつかの塊のデータを まとめて扱うのには、 多次元配列を使ったほうが 効率の良いデータ管理が可能になります。 例えば、5人の学生の 3教科の点数を扱う場合、 3つの1次元配列に格納するよりも、 ひとつの2次元配列に格納するほうが、 管理が簡単になります。 この図のように、縦横2次元の配列を 2次元配列と呼びます。 さらに、3次元4次元と 次元を増やすこともでき、 そのような配列を多次元配列と呼びます。 ただし、多次元配列は、 メモリ上は連続して 要素が並んでいる配列です。 扱いやすくするために、論理上 次元が付けられているのです。 アルゴリズムを学ぶ上で、 配列は非常に重要です。 しっかりと理解しておきましょう。