アウトプットの部屋

エンジニアになるためのアウトプット

データ構造(ITパス)

データはただ保存されているのではなく、そのデータにとって最適の構造をなして保存されています。そしてその構造にもたくさんの種類があります。

・配列

配列は、連続した領域にずらりとデータを並べて管理する方法です。

各データは添字が与えられて、直接データにアクセスすることができます。

しかしデータが隙間なく並べてあるので、データの追加削除などは苦手です。データの個数が増減する時には、あまり使えないでしょう。

・リスト

リストは、データを数珠つなぎのように管理する方法です。

リストにはポインタという番号が各データにセットされています。その番号を辿ってデータを取得します。

例えば、ポインタ15のデータxがポインタ33にアクセスすると、次はポインタ33のデータyに繋がります。データ5はポインタ26にアクセスとあるので、ポインタ26のデータzにアクセスします、、、みたいな感じで最後までいけばデータが取得できます。

配列とは違って、データの追加や削除はできますが個々のデータにダイレクトにアクセスはできません。

・ツリー構造

ツリー状に分岐した階層構造の中に、データを格納する方法です。辿ると言う意味ではリストと似ているかもしれません。

探索や整列用途でも使われる方法で、他にもインターネットのドメイン名などはツリー構造を使って管理しています。

・キュー

最初に格納したデータから順番に処理し、取り出せる方法です。

データ1、データ2、データ3の順に格納したとしたら、取り出し順は、データ1、データ2、データ3のようになります。(先に入れた順)

・スタック

スタックはキューの逆で、最後に格納したデータから順番に処理し、取り出せる方法です。

データ1、データ2、データ3の順に格納したとしたら、取り出し順は、データ3、データ2、データ1のようになります。(後に入れた順)