翻訳と辞書
Words near each other
・ マージ (バージョン管理)
・ マージ (バージョン管理システム)
・ マージ (曖昧さ回避)
・ マージ 〜MARGINAL〜
・ マージェリー・アリンガム
・ マージェリー・シャープ
・ マージェリー・タイレル
・ マージェリー・バラシオン
・ マージェリー・ルイーズ・アリンガム
・ マージオ
マージソート
・ マージダ・エル・ルーミー
・ マージナル
・ マージナル (漫画)
・ マージナルプリンス
・ マージナルプリンス〜月桂樹の王子達〜
・ マージナルプリンス~月桂樹の王子達~
・ マージナルマン
・ マージナル・オペレーション
・ マージナル・プリンス


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

マージソート : ミニ英和和英辞書
マージソート[ちょうおん]
=====================================
〔語彙分解〕的な部分一致の検索結果は以下の通りです。

: [ちょうおん]
 (n) long vowel mark (usually only used in katakana)

マージソート : ウィキペディア日本語版
マージソート[ちょうおん]

マージソートは、ソートアルゴリズムで、既に整列してある複数個の列を1個の列にマージする際に、小さいものから先に新しい列に並べれば、新しい列も整列されている、というボトムアップの分割統治法による。大きい列を多数の列に分割し、そのそれぞれをマージする作業は並列化できる。
n個のデータを含む配列をソートする場合、最悪計算量O(n log n)である。分割と統合の実装にもよるが、一般に安定なソートを実装できる。インプレースなソートも提案されているが、通常O(n)の外部記憶を必要とする。
(ナイーブな)クイックソートと比べると、最悪計算量は少ない〔。ランダムなデータでは通常、クイックソートのほうが速い。
==アルゴリズム==
基本的な手順は以下の通りである。
#データ列を分割する(通常、等分する)
#各々をソートする
#二つのソートされたデータ列をマージする
2番目のステップでは、マージソートを再帰的に適用する。
マージは、データ列の先頭同士を比べ小さい方をデータ列から取り出し、残りのデータ列に対して再帰的に適用する。
ソートすべきデータ列が部分的に順次得られる場合、オンラインアルゴリズムとして部分データ列をソートして後でマージするという変形も可能である。
また、高速化の手法として、自明な列(要素数がたかだか1個)になるまで細分割せず、ある程度になったら別の単純なアルゴリズムに切り替える、というものがある〔。
他に特殊な応用例として、外部ソートの1手法でテープ(のようなシーケンシャルアクセスメディア)に収められたデータをソートする、というものがある。最も単純な、4本のテープを2本ずつ使う「平衡2系列マージ」を例に説明する。まず元のデータから、利用可能な内部記憶をできるだけ使って、部分的に整列されている列をテープに書き出す。この時、2本のテープに交互に書き出すようにする。
次に、2本のテープのそれぞれの先頭部分にある、それぞれの部分列をマージしながら、別の2本のテープに交互に書き出す。この操作により、より長い整列した列が得られる。全てのマージが終わったら、コピー元とコピー先を入れ替え、同様に繰り返す。繰返し毎に各部分列の長さは約2倍に、列の個数は約半分になると期待できる。
最終的に、テープを切り替えることなく、1本のテープに全てのデータが出力されたら完了である。この技法はコンピュータがまだ高価で、テープが大容量外部記憶の主力だった時代にさかんに研究され、さまざまなバリエーションが編み出された。『The Art of Computer Programming』の§5.4にそれらの詳細がある。

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「マージソート」の詳細全文を読む




スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.