順序保証のない列挙
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/08/22 14:07 UTC 版)
「ハッシュテーブル」の記事における「順序保証のない列挙」の解説
最も単純な実装として、ハッシュテーブルのルート配列上を 0 から N - 1 まで走査し、その中に存在するエントリを列挙する方法がある。連鎖法の場合は見つかったエントリリストをさらにたどる必要がある。しかしこの方法で列挙した場合、各エントリはハッシュ関数によって格納位置を決められているために、全く意味を持たない順序で要素が列挙される。これはランダムな順序という意味ではない。利用方法によっては列挙操作が追加した順序を保持しているかのように見えるため、ハッシュテーブルの利用者が誤解する場合がある。この実装による列挙の計算量はルート配列のサイズ N と連鎖法でのルート配列上にないエントリリストの数 m との合計O(N + m)となる。そのため、ルート配列をあらかじめ大きなサイズで確保しているとこの実装での列挙に時間がかかる。
※この「順序保証のない列挙」の解説は、「ハッシュテーブル」の解説の一部です。
「順序保証のない列挙」を含む「ハッシュテーブル」の記事については、「ハッシュテーブル」の概要を参照ください。
- 順序保証のない列挙のページへのリンク