スポンサーリンク

【応用情報技術者試験】配列と連結リストの違いをわかりやすく解説

「配列と連結リストってどちらもデータを保存するための構造だよね?」

応用情報技術者試験でもデータ構造分野で頻出ですが、

  • 何が違うの?
  • どちらが高速?
  • 挿入や削除はどちらが得意?
  • メモリ上ではどう管理される?

で混乱する人がかなり多いテーマです。

この記事では、

  • 配列とは?
  • 連結リストとは?
  • 違い
  • メリット・デメリット
  • 試験での頻出ポイント

を分かりやすく解説します!


まず結論

配列

「データを連続した領域に格納する」


連結リスト

「データ同士をポインタでつなぐ」


超簡単にいうと

データ構造イメージ
配列ロッカー
連結リスト電車の車両

配列とは?

超頻出!


特徴

データを

連続したメモリ領域

に格納する。


イメージ

[10][20][30][40]


メモリ上

100
101
102
103

のように並んでいる。


メリット

重要!


要素へのアクセスが高速


例えば

3番目の要素

を直接参照できる。


デメリット


挿入・削除が遅い


途中へ追加すると

後ろのデータをずらす必要がある。


例

10 20 30 40


25を追加

↓

10 20 25 30 40


30と40を移動する必要がある。


連結リストとは?

超頻出!


特徴

データと次のデータの位置を持つ。


イメージ

10 → 20 → 30 → 40


実際は

データ
+
次のアドレス

を持つ。


メモリ上

10
↓
30
↓
20
↓
40

のようにバラバラでもOK。


メリット

重要!


挿入・削除が高速


ポインタを付け替えるだけ。


例

10 → 20 → 30


25を追加

↓

10 → 20 → 25 → 30


リンク変更だけで済む。


デメリット


アクセスが遅い


先頭から順番にたどる必要がある。


配列と連結リストの違い

超頻出!

比較配列連結リスト
格納方法連続領域ポインタ接続
アクセス高速遅い
挿入遅い高速
削除遅い高速
メモリ効率良いポインタ分必要

イメージで理解


配列

ロッカー番号管理


3番ロッカーへ

すぐ行ける。


連結リスト

宝探しの地図


順番にたどる必要がある。


計算量

応用情報で頻出!

操作配列連結リスト
参照O(1)O(n)
挿入O(n)O(1)※
削除O(n)O(1)※

※挿入・削除位置が分かっている場合


利用例


配列

  • 学生名簿
  • 商品一覧
  • 点数管理

連結リスト

  • キュー
  • スタック
  • OSのメモリ管理

試験での覚え方

超重要!


配列

探すのが得意


連結リスト

追加・削除が得意


よくあるひっかけ

「連結リストはアクセスが速い」

→ ❌違う!

連結リストは

順番にたどる

必要がある。


応用情報で超頻出

かなり狙われる👇

  • 配列
  • 連結リスト
  • ポインタ
  • O(1)
  • O(n)
  • データ構造

1分で復習!

配列

連続して格納


連結リスト

ポインタで接続


配列

参照が高速


連結リスト

挿入・削除が高速


超重要

配列=ロッカー

連結リスト=電車


練習問題

問題

連結リストの特徴として最も適切なものはどれか。

ア

データを連続したメモリ領域に格納する

イ

添字で高速アクセスできる

ウ

データ同士をポインタで接続する

エ

挿入・削除が必ず配列より遅い


解答

正解:ウ

解説

連結リストはデータと次のデータへの参照(ポインタ)を保持し、要素同士を連結して管理します。


まとめ

配列とは

「連続した領域に格納する」


連結リストとは

「ポインタでつなぐ」


超重要

  • 配列=アクセス高速
  • 連結リスト=挿入・削除高速
  • 配列=O(1)参照
  • 連結リスト=O(n)参照

まずは、

「配列=ロッカー」

「連結リスト=電車の車両」

このイメージを持つとかなり理解しやすくなります!


知識に自信ができた方は、今度は自身のキャリアアップに向けて準備してみませんか?

未経験から、ITエンジニアへ。
「IT業界に興味はあるけれど、自分にできるか不安」「何から始めればいいのか分からない」そんな方のために、Tech GO は未経験からのIT転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…

まずは無料でキャリア相談

コメント