データ構造 は、たくさんのデータを どう並べて保持しておくか の型のことです。やりたい操作に合った入れ物を選ぶと、アルゴリズム が速く・シンプルになります。
代表的なものを挙げます。
- 配列 … 番号(添字)で順番に並べる。位置を指定して一発で取り出せる。
- リスト … 前後のつながりで連ねる。途中への追加・削除が得意。
- スタック … 最後に入れたものを最初に取り出す(後入れ先出し/LIFO)。
- キュー … 最初に入れたものを最初に取り出す(先入れ先出し/FIFO)。行列と同じ。
- 木(ツリー) … 枝分かれする階層構造。フォルダや組織図など。
- ハッシュ表 … 「鍵」から値へ一発でたどり着ける。辞書引きのイメージ。
flowchart TD ROOT["木構造の例:会社"] --> A[開発部] ROOT --> B[営業部] A --> A1[フロント班] A --> A2[サーバー班]
「後ろから順に処理したい」「名前で素早く探したい」など、目的によって最適な形は変わります。データ構造とアルゴリズムはセットで、プログラミングの土台を成す二本柱です。