データ構造とは?
コンピュータのプログラムはバラバラなデータを扱うことは難しいので、データ構造という形で整理整頓したデータ形式・仕組みを事前に用意しています。
ITパスポート試験で出題されるデータ構造は次表になります。
用語 | 説明 |
---|---|
変数 | 1つのデータを格納するデータ構造 |
配列 | 複数のデータを連続的に格納するデータ構造 |
リスト | 複数のデータを順序づけて格納するデータ構造 |
木構造 | 階層を持つデータ構造 |
2分木 | 全ての枝が2本の木構造 |
スタック | データ(要素)が入ってきた順に、積み上げていくデータ構造 ・プッシュ(挿入)、ポップ(取り出し) ・LIFO(後入れ先出法) |
キュー | データ(要素)が入ってきた順に、並べていくデータ構造 ・エンキュー(挿入)、デキュー(取り出し) ・FIFO(先入れ先出法) |
このページでは、『変数』、『配列』、『リスト』、『木構造/2分木』を解説していきます。
変数
変数とは、ひとつのデータを格納する箱です。具体的に変数を利用した計算で確認していきましょう。
まず、変数xの箱に5を格納します。
\(y = x +10\)を計算する場合、\(x=5\)に置き換え(代入)し、\(y=5+10=15\)と計算できます。
変数に格納するデータを変えるだけで、出力するデータを柔軟に計算できます。
配列
配列とは、複数のデータを連続的に格納する箱です。変数と配列の違いは、変数が1つのデータを格納する箱に対し、配列は複数のデータを連続的に格納する箱になります。
例えば、\(x_1、x_2、x_3\)で決定する\(y_1、y_2、y_3\)を計算したい場合を考えます。
x配列の\(x_1、x_2、x_3\)の3つの箱を用意し、その中にデータを格納します。
配列xを1、2、3・・・の添え字で指定することで、中身のデータに置き換え(代入)し、\(y_1、y_2、y_3\)の計算結果を導出できます。
リスト
変数と配列がデータのみを格納するデータ構造でした。これに対し、リストはデータに加え、順番を格納できるデータ構造になります。
具体的には、次に参照するべきデータをポインタという情報で指定します。
例えば、上図のようなリストの場合、ポインタを参照することで『①→③→②』と順番が決定していきます。
木構造/2分木
木構造とは、データを階層構造で管理するデータ構造です。
上からの各要素を根(ルート)、節(ノード)、葉(リーフ)と呼び、これらの要素の中にデータを格納します。また、各要素を関係付ける線をブランチ(枝)と呼びます。
木構造のうち、分岐する枝がすべて2本のものを2分木と呼びます。
【まとめ】データ構造(変数/配列/リスト/木構造/2分木)
それでは最後におさらいしておきましょう。
用語 | 説明 |
---|---|
変数 | 1つのデータを格納するデータ構造 |
配列 | 複数のデータを連続的に格納するデータ構造 |
リスト | 複数のデータを順序づけて格納するデータ構造 |
木構造 | 階層を持つデータ構造 |
2分木 | 全ての枝が2本の木構造 |
コメント