データ構造(配列・リスト・スタック・キュー)とは?スタックとキュー、配列とリスト

公開: 更新: カテゴリ: テクノロジ系

30秒で結論

データ構造とは(全体像)

データ構造とは、データを、どんな形で持っておくか(整理のしかた・しまい方)のことだ。整理のしかたによって、「探しやすい」「足しやすい」など、得意・不得意が変わる。

代表的なものを見ておこう。

ここで一番のポイント。スタックは後入れ先出し(LIFO)、キューは先入れ先出し(FIFO)。「スタック=キュー」と思い込むと誤りになる。


詳しく:スタックとキュー、配列とリスト

ここが心臓部。とくに大事な区別を表で押さえよう。

主なデータ構造

構造出し入れの順イメージ
スタック後入れ先出し(LIFO)積んだ皿(最後に置いた皿を最初に取る)
キュー先入れ先出し(FIFO)レジの行列(先に並んだ人が先に進む)
配列番号で一発アクセス番号つきのロッカー
リストつなげて持つ数珠つなぎ

また、配列とリストも別もの。配列は番号で一発アクセスできるのが得意、リストは挿入・削除が得意。「配列とリストは同じ」と思い込むと誤りだ。

わかりやすく言い換えると

身近なたとえで整理しよう。

スタックは、「積んだ皿」のイメージ。最後に積んだ皿を、最初に取る(後入れ先出し)。キューは、「レジの行列」のイメージ。先に並んだ人が、先に進む(先入れ先出し)。つまり、出る順番が逆だ。

配列とリストの違いは、「番号つきのロッカー(配列)」と「数珠つなぎ(リスト)」。要するに、番号で探しやすいか、つなぎ替えやすいか、だ。


試験のツボ

🔴 一番出る:スタックとキューの違い

①スタック=後入れ先出し(LIFO)。積んだ皿のイメージ

②キュー=先入れ先出し(FIFO)。レジの行列のイメージ

🔴 次に出る:配列とリストの違い

①配列=番号で一発アクセスが得意

②リスト=挿入・削除が得意(場所まで順にたどる)

🟡 押さえると安定:データ構造の正体

①データを、どんな形で持っておくか(整理のしかた)

②整理のしかたで、得意・不得意が変わる


よくある間違い

「スタックとキューは、出し入れの順が同じだ」→ ✗  スタックは後入れ先出し(LIFO)、キューは先入れ先出し(FIFO)。順が逆。

「配列とリストは、まったく同じデータ構造だ」→ ✗  配列は番号で一発アクセスが得意、リストは挿入・削除が得意。別もの。

「スタックは、最初に入れたものが最初に出る」→ ✗  最初に入れたものが先に出るのはキュー。スタックは、後に入れたものが先に出る。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(データ構造の正体)

📝 オリジナル問題 1 データ構造の正体

データ構造に関する次の記述のうち、最も適切なものはどれか。

  1. データを、どんな形で持っておくか(整理のしかた)のことである
  2. 社員の出退勤を記録して、毎月の給与を計算していくしくみである
  3. 取引先へ毎月の請求書を郵送する、決まった事務作業である
  4. 完成したシステムを宣伝して、より多く売る広告活動である
データパン
データパン 解答・解説

解答は 1 だぱん。

データ構造は、データを、どんな形で持っておくか(整理のしかた)なんだぱん。しまい方で、得意・不得意が変わるんだぱん。

選択肢2は給与計算、選択肢3は請求書の事務、選択肢4は広告で、どれも違うぱん。

選択肢判定理由
1データの持ち方(整理のしかた)で正しい
2給与計算のしくみではない
3請求書の事務の話
4広告活動ではない

オリジナル問題2(スタック)

📝 オリジナル問題 2 スタックの出し入れ

スタックに関する次の記述のうち、最も適切なものはどれか。

  1. 社員の給与を計算する順番に、データを出し入れするものだとされている
  2. 取引先へ請求書を郵送する順に、データを出し入れするものである
  3. 先に入れたものが先に出る(先入れ先出し)データ構造である
  4. 後に入れたものが先に出る(後入れ先出し・LIFO)データ構造である
データパン
データパン 解答・解説

解答は 4 だぱん。

スタックは、後に入れたものが先に出る(後入れ先出し・LIFO)んだぱん。積んだ皿のイメージだぱん。選択肢3の「先入れ先出し」はキューの説明だぱん。

選択肢1の給与、選択肢2の請求書、選択肢3のキューの説明は、いずれも違うぱん。

選択肢判定理由
1給与計算の順ではない
2請求書の郵送の順ではない
3先入れ先出しはキュー
4後入れ先出し(LIFO)で正しい

オリジナル問題3(キュー)

📝 オリジナル問題 3 キューの出し入れ

キューに関する次の記述のうち、最も適切なものはどれか。

  1. 後に入れたものが先に出る(後入れ先出し)データ構造である
  2. 先に入れたものが先に出る(先入れ先出し・FIFO)データ構造である
  3. 社員の給与を計算する順番に、データを出し入れするものだとされている
  4. 取引先へ請求書を郵送する順に、データを出し入れするものである
データパン
データパン 解答・解説

解答は 2 だぱん。

キューは、先に入れたものが先に出る(先入れ先出し・FIFO)んだぱん。レジの行列のイメージだぱん。選択肢1の「後入れ先出し」はスタックの説明だぱん。

選択肢1のスタックの説明、選択肢3の給与、選択肢4の請求書は、いずれも違うぱん。

選択肢判定理由
1後入れ先出しはスタック
2先入れ先出し(FIFO)で正しい
3給与計算の順ではない
4請求書の郵送の順ではない

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る