データ構造(配列とリストとハッシュ)に関する世界観です。
まず、配列とリストとハッシュがある。
データ構造 | 意味 |
---|---|
配列 | メモリ上の連続した場所に作られる要素の集合。 添え字(インデックス)からアクセスする。 ベクター、ベクトルとも呼ばれる。 |
連結リスト | ポインタによって紐づけされた連結された要素の集合。 データ部とポインタ部に分けて管理する。 配列に比べて挿入や削除が容易だが探索に時間がかかる。 |
ハッシュ | キーに対して値を設定する。 PHPでは連想配列、Pythonでは辞書、JavaScriptではオブジェクトと呼ばれる。 マップ、ハッシュテーブル、検索テーブルなどとも呼ばれる。 |
「シーケンス」という言葉が使われた時は、配列やそれ以外の順番に並んだデータ構造のことを指す。
また、リストには次のデータへのポインタをひとつだけ持っている「単方向リスト」の他に、前のデータへのポインタがある「双方向リスト」、環状に連結された「環状リスト」がある。
このほか、要素の順番が重要でない場合、集合(セット)などを用いることができる。集合は慣習的にビットフラグで表されるほか、順序の無関係な要素の集合を表すセット専用のデータ構造が提供されることもある。
2次元のデータ構造には、行列とテーブルがある。行列は要素がすべて同じ型になるが、テーブルは要素がそれぞれ違った型となる。テーブルは構造体による配列によって表現できる。
(Code Reading ~オープンソースから学ぶソフトウェア開発技法~ (プレミアムブックス版)を参考に執筆しました。)
Perl, PHP, Python, Rubyのような言語では、リストをスタックやキューとして使うことができる。スタックとキューを参照のこと。
2023.09.05
以下の書籍を参考に執筆しました。