先頭へ戻る

連想配列 | Programming Place Plus 用語集

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 でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー