配列

O(1)インデックスアクセスを持つ連続メモリ構造。

配列は、同じ型の要素を連続したメモリ位置に格納する基本的なデータ構造です。これにより、インデックスを使用して定数時間O(1)で任意の要素にアクセスできます。

主な特徴:
- 固定サイズ
- ランダムアクセスの高速化
- キャッシュ効率の良さ

欠点として、要素のシフトが必要な挿入と削除のコストがO(n)であることが挙げられます。

        graph LR
  Center["配列"]:::main
  Pre_data_structures["data-structures"]:::pre --> Center
  click Pre_data_structures "/terms/data-structures"
  Rel_linked_list["linked-list"]:::related -.-> Center
  click Rel_linked_list "/terms/linked-list"
  Rel_queue["queue"]:::related -.-> Center
  click Rel_queue "/terms/queue"
  Rel_stack["stack"]:::related -.-> Center
  click Rel_stack "/terms/stack"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 5歳でもわかるように説明

番号が付いたロッカーの列を想像してください。番号を知っていれば、他のロッカーを確認せずに直接そのロッカーに行くことができます。それが配列の仕組みです!

🤓 Expert Deep Dive

空間的局所性により、配列はキャッシュラインの利用効率が高くなります。SIMD命令による並列処理が可能です。メモリアライメントは最新のアーキテクチャでのパフォーマンスに重要です。

🔗 関連用語

前提知識:

📚 出典