無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

個別のアルゴリズムをつつく3−マージソート。一旦分割♪これマジだよぉ。

このアルゴリズムは 合併法 の考え方をもとに作られたアルゴリズムなんだ。 考え方をリンク先でつついてからこのアルゴリズムをつついてね♪
合併法はつついた?じゃあ、マージソートを一緒につつこう! マージソートの手順は次の通りだピヨォ。


【マージソートの大まかな流れ】
  1. 扱える大きさまでデータを二分割していく。データをつついて割っていくんだ。
  2. 細かに分かれたデータをソートしながら合体させていく。小さいから簡単♪
  3. 全てのデータ片を合体したらあら不思議。データが整列しているよ♪


てな寸法さ。
ドリィちゃん「相変わらず大雑把ね。」
でも、マージソートってイメージはこんなもんじゃない?
ドリィちゃん「まぁね。どうせこの説明は実装のおまけだからね。」
そっそれは酷い・・・でも言い返せない。まぁ、とにかく言語との実装を見て見て♪
ドリィちゃん「ちょっと、拗ねたの。もぉ・・・。仕方がないわね。私が説明しておくわ。
このソートはバブルソートよりも効率がいいと言われているわ。何故かというと、比較回数が少なくなるから。2分割にして比較するところがポイントなんだけど、 比較する場合は両方の先頭だけ比較するだけだし、途中で片一方がなくなったとき、後は残った方を出力するだけになるからね。その辺に注意してコードを見ればいいわ。後、このソートは再帰が伴うわ。覚悟してね。」



【言語ごとの実装例】
別窓 | アルゴリズム | コメント:0 | トラックバック:0 | ∧top | under∨
<<C++を咥えて個別アルゴリズムをつつく3−マージソート。細かく砕いて並べるピヨ。 | 無差別に技術をついばむ鳥 | アルゴリズムの方法論をつつく5−合併法。小さな事からコツコツと>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |