タグ

ブックマーク / www.ics.kagoshima-u.ac.jp/~fuchida (3)

  • ソート時間の比較

    下のアプレットは、6種類すべてのソートアルゴリズムを同時に実行するものです。 左上から右へ、バブルソート、バケットソート、基数ソート、ヒープソート、マージソート、クイックソートです。 "Start" ボタンを押すと、すべてのソートが同時開始されます。クイックソートがもっとも速く並べ終わり、次にバケットソート、基数ソートの順で並べ終わるのがわかります。 データ数や初期並びを変えて、いろいろなデータで試してみましょう。 アプレットの並べ替えプログラムは、人間の眼で見て並べ替えの様子がわかりやすいように、データの交換が起こるたびに wait を入れて速度を遅くして表示しています。しかし、この方法では、データの交換以外に要する時間はほとんど無視されることになり、正確な意味で正しい比較をしていることにはなりません。 そこで、wait を入れずに並べ替えを行うプログラムを作成し、いろいろな個数のデータ

    mogwaing
    mogwaing 2012/12/19
    実測?
  • いろいろなソートアルゴリズム

    <body> <p>このページにはフレームが使用されていますが、お使いのブラウザではサポートされていません。</p> </body>

    mogwaing
    mogwaing 2009/04/08
    一覧できていい
  • 基数ソート

    public void sort(int[] a){ // バケツに入っているデータ数を覚えるための配列です int[] bn=new int[bucket.length]; // 最下位桁の数字を見て、対応するバケツにデータを入れます。 for(int i=0;i<a.length;i++){ bucket[a[i]%m].add(new Integer(a[i])); notifier.notify(i,-1); } // 最初のバケツから順番にデータを取りだし、データの指定桁の値を見て、 // 対応するバケツにデータを追加します。 for(int j=1;j<k;j++){ // 現在、それぞれのバケツに何個のデータが入っているかを // 覚えておきます。 for(int b=0;b<bucket.length;b++) bn[b]=bucket[b].num; // 各バケツの先頭

    mogwaing
    mogwaing 2009/04/08
    みやすい
  • 1