スポンサーリンク

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

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

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

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

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

この記事では、

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

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


まず結論

配列

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


連結リスト

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


超簡単にいうと

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

配列とは?

超頻出!


特徴

データを

連続したメモリ領域

に格納する。


イメージ

[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転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…

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

コメント