準線形時間での選択のためのデータ構造使用とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 準線形時間での選択のためのデータ構造使用の意味・解説 

準線形時間での選択のためのデータ構造使用

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/21 14:22 UTC 版)

選択アルゴリズム」の記事における「準線形時間での選択のためのデータ構造使用」の解説

整列されていないデータリストがあるとき、最小値求めるには全要素調べ必要があるため(さもなくば最小値を見逃す可能性がある)、線形時間(n)) を必要とする。リスト作成する際に全データが常に整列するようにすれば、k 番目に大きい値の選択簡単になる。しかし、そのためにはリスト途中へのデータ挿入線形時間を必要とする(2つリストマージと同様である)。 準線時間順序統計量求め戦略は、データ選択を行うのに適したデータ構造格納するのであるそのようなデータ構造として木構造ベースのものと度数分布表がある。 最小値(または最大値)だけが必要な場合優先度付きキュー適している。これは最小値(または最大値)を一定時間探すことができ、他の挿入などの操作も O(log n) かそれよりよい性能を示す。より一般的に平衡2分探索木使えば要素挿入も k 番目に大きい値の選択も O(log n) の時間で可能である。各ノードには配下何個ノードがあるかをカウントした値を格納しておき、どのパスを辿るかを決定するのに使用する。この情報ノード(つまり新たなデータ)を追加したとき、接続される上位ノード群だけを修正すればよいので O(log n) の時間で済む。また、木の回転はそれに関わるノード群だけに影響する別の単純な戦略として、ハッシュテーブルのようなコンセプトに基づくものがある。データ取りうる値の範囲が予め分かっている場合、それを h 個の部分分け、h 個の格納場所設定する要素新たに挿入する際、その値が含まれる範囲対応する格納場所にそれを置く。最大値最小値探すには、空でない格納場所大きいほうからか小さいほうから探していき、その格納場所の中で最大値最小値探せばよい。一般に k 番目の要素探すには、各格納場所入れた要素数をカウントしておき、端からその値を加算していって k 番目を含む格納場所探す。そして、その格納場所内の要素群から必要な要素線形時間アルゴリズム探し出せばよい。 h のサイズをおよそ sqrt(n) としたとき、データ分布がほぼ一様であればこの方式による選択は O(sqrt(n)) の時間になる。しかし、データが狭い範囲固まって出現すると(クラスタリング)、この手法では1つ格納場所多大な要素格納されることになってしまう(クラスタリングハッシュ関数をうまく設定することで排除できるが、k 番目に大きい値をばらばらにハッシュされた中から探すのは現実的でない)。さらにハッシュテーブルと同様で、この方式では要素数 n が増大して h2 より大きくなった場合に、効率改善するために再構成(つまり h を大きくする)する必要があるこの方式はデータ数が分かっている場合順序統計量探すのに適している(例え学生成績統計理など)。各格納場所の値の範囲を 1 としてそれぞれに要素数をカウントするようにするのが最も優れているそのようなハッシュテーブル要約統計量データ分類するための度数分布表似ている

※この「準線形時間での選択のためのデータ構造使用」の解説は、「選択アルゴリズム」の解説の一部です。
「準線形時間での選択のためのデータ構造使用」を含む「選択アルゴリズム」の記事については、「選択アルゴリズム」の概要を参照ください。

ウィキペディア小見出し辞書の「準線形時間での選択のためのデータ構造使用」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「準線形時間での選択のためのデータ構造使用」の関連用語

準線形時間での選択のためのデータ構造使用のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



準線形時間での選択のためのデータ構造使用のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの選択アルゴリズム (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS