連想配列 | Programming Place Plus 用語集

トップページ用語集

名称

解説

添字に整数以外のを用いることができる配列のことです。

連想配列は、抽象データ型の一種であり、ハッシュテーブル木構造を用いて実装されることが多いです。ハッシュテーブルを使って実装されている場合、連想配列のことをハッシュと呼ぶことがあります。

このような実装方法であるため、配列の一種であるかのように説明されるものの、通常の配列がもつ、要素が連続的に並ぶという性質は失われています。加えて、要素そのもの以外にも追加の情報も必要になるため(木構造でほかのノードを辿るための情報など)、メモリの利用効率は劣ります。

また、添字から要素の所在を求める効率の面でも、(ハッシュテーブルによる実装ならば、計算で求められるものの)、通常の配列よりは劣ります。

C言語の場合

C言語には、標準の連想配列はありません。

C++ の場合

C++ の標準ライブラリには、木構造による実装である std::map(および、同一の添字をもった要素が複数あることを許す std::multimap)と、ハッシュテーブルによる実装である std::unordered_map(および、同一の添字をもった要素が複数あることを許す std::unordered_multimap)があります。

std::map、std::multi_map については、C++編【標準ライブラリ】第9章に解説があります。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る