JavaA2Z

KAB-studio > プログラミング > JavaA2Z > 修正マージソートとは

修正マージソート

日本語 修正併合並び替え
英語 modified merge sort、modified mergesort
ふりがな しゅうせいまーじそーと
フリガナ シュウセイマージソート

解説

分割した要素マージしていくソート
ソートアルゴリズムのひとつ。
最速レベルのソートであり、安定ソートでもある、マージソートをさらに改良したもの。
 
マージソートと異なり、要素数6以下でのソート(各塊をマージする時も含む)の際には分割・併合処理をわず特別なソート処理をう。
また、一般的なマージソートでは分割時に新たな配列を作製してコピーするが、修正マージソートでは配列を2つ用意してそれを交互に使用することで配列の新規作成をわないようにしている。
これらの修正により、マージソートよりも処理が速くなっている。
 
Arraysクラスのsort()メソッドクラスソートする場合にはこの修正マージソートを使用しているため、Arraysクラスのsort()メソッドを用いたソートはかなり優秀なソートということができる。

参考サイト


(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
import java.util.Arrays;

public class Sample
{
    public static void main( String[] args )
    {
        // 出力する配列を用意します。
        Integer[] intgerss = new Integer[] { new Integer( 300 ), new Integer( 100 ), new Integer( 200 ) };
 
        forint iF1 = 0; iF1 < intgerss.length; ++iF1 )
        {
            System.out.print( intgerss[iF1] + ", " );
        }
        System.out.println();
        // 300, 100, 200,

        // 修正マージソート機能を使ってみます。
        Arrays.sort( intgerss );
 
        forint iF1 = 0; iF1 < intgerss.length; ++iF1 )
        {
            System.out.print( intgerss[iF1] + ", " );
        }
        System.out.println();
        // 100, 200, 300, 
    }
}
// Sample.java
import java.util.Arrays;

public class Sample
{
    public static void main( String[] args )
    {
        // 出力する配列を用意します。
        Integer[] intgerss = new Integer[] { new Integer( 300 ), new Integer( 100 ), new Integer( 200 ) };
 
        for( int iF1 = 0; iF1 < intgerss.length; ++iF1 )
        {
            System.out.print( intgerss[iF1] + ", " );
        }
        System.out.println();
        // 300, 100, 200,

        // 修正マージソート機能を使ってみます。
        Arrays.sort( intgerss );
 
        for( int iF1 = 0; iF1 < intgerss.length; ++iF1 )
        {
            System.out.print( intgerss[iF1] + ", " );
        }
        System.out.println();
        // 100, 200, 300, 
    }
}

この単語を含むページ

「みだし」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/07/18
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。