Ceeds Academy教材アプリ教材・症状語・タグで検索
索引グラフ試す
コンピュータサイエンス▸CS基礎

CS: データ構造(配列・連想配列・スタック/キュー)

knowledge所要 25分最新草稿
前提: CS: 計算量(Big-O・なぜ重要)→次: CS: アルゴリズム基礎(探索・ソート・再帰)
意味グラフ(この教材と内容的に近い教材・1ネスト)
例え(Analogies)
データ構造=道具箱の仕切り

ドライバーを毎回全部から探す(配列の線形探索)か、ラベル付きの仕切りから一発で取る(ハッシュ)か。持ち方で取り出しやすさ(計算量)が変わる。

概要

📍 コンピュータサイエンス ▸ CS基礎 ▸ データ構造 | 種別: knowledge | facts_as_of 2026-06

公式ドキュメント — knowledge

🎞 スライド(図解込み)

データ構造=「データの持ち方」

用途で選ぶ(速くしたい操作が違う)

4つの基本(対比)

  • 配列 … 添字で O(1) 参照 / 途中挿入は遅い
  • 連想配列 … キーで O(1) 検索(Map / dict)
  • スタック … 後入れ先出し(LIFO)=戻る/Undo
  • キュー … 先入れ先出し(FIFO)=順番待ち

選ぶ基準=「何を速くしたい?」

検索が多い → ハッシュ / 順序保持 → 配列
後入れ先出し → スタック / 順番処理 → キュー

—
出典(sources)

データ構造一般 ; 2026-06確認

確認問題(Review-Questions)
ハッシュマップの利点は?記述
基礎公式
解答・解説▾ 開く

キーから平均O(1)で値を取り出せる。

LIFOの構造は?択一
基礎公式
解答・解説▾ 開く

スタック(FIFOはキュー)。

運営メモ・チェックリスト(配信除外)

🔒 運営メモ(公開除外)

  • review 24ヶ月。requires: cs-01-complexity。unlocks: cs-03-algorithms。taxonomy=cs-foundations。references: 言語のコレクションとも関連。
  • 例え=Analogies(道具箱の仕切り)。確認問題=Review-Questions。
  • 図:Ceeds_図_データ構造_対比_ポンチ絵.svg(SVG・判断軸該当)。FEがリポジトリから描画。
目次
例え概要公式ドキュメント出典確認問題
鮮度
最新
更新: 2026-06-15
次回棚卸し: 2028-06-15
周期: 24か月
版: データ構造一般
4つを1枚で対比
4つを1枚で対比

概要

データ構造は**「データの持ち方」。同じデータでも、持ち方で速くできる操作が変わる**(計算量=Big-O が違う)。基本は配列・連想配列(ハッシュ)・スタック・キューの4つで、「何を速くしたいか」で選ぶ。

現場あるある(なぜ効くか)

配列を毎回ループで find して「遅い…」→ Map/dict に変えたら一発。データ構造の選択は、動くか以前に速さと読みやすさを左右する現場の判断。

公式ドキュメント準拠

  • 配列(Array):要素を順序で持ち、添字で O(1) 参照。途中の挿入/削除は要素ずらしで遅い。
  • 連想配列/ハッシュマップ:キー→値で持ち、平均 O(1) 検索(JS の Map/Object、Python の dict)。
  • スタック(LIFO):後入れ先出し(push/pop)。例:Undo・関数呼び出し。
  • キュー(FIFO):先入れ先出し(enqueue/dequeue)。例:順番待ち・処理列(Python は collections.deque)。

出典: 各言語の標準ライブラリ公式ドキュメント(JS Map/Array・Python dict/list/deque)+データ構造の一般。

🧭 誤解訂正集

よくある誤解 正しい理解
配列で何でもいける 検索が多いならハッシュが速い
リストとハッシュは同じ 検索/挿入の計算量が違う
スタックとキューは似たもの 取り出す順が逆(LIFO/FIFO)

📖 用語

  • データ構造 … データの「持ち方」。用途で速い操作が変わる。
  • 計算量 / Big-O … 件数が増えた時に処理時間がどう伸びるかの目安(O(1)=一定、O(n)=件数なり)。
  • 配列(Array) … 順序+添字でアクセスする並び。
  • 連想配列 / ハッシュマップ … キーで値を引く入れ物(Map/dict)。
  • LIFO / FIFO … 後入れ先出し/先入れ先出し。
  • スタック / キュー … LIFO/FIFO のデータ構造。

✅ 確認の目安(can-do)

配列・ハッシュ・スタック/キューの特徴を区別し、「この用途ならどれを使うか・なぜか」(速くしたい操作)を自分の言葉で説明できる。