テーマ 1. ソーティングプログラム




準備
 ファイル data1.dat, data2.dat, data3.dat, data4.dat, data5.dat, data6.dat, data7.dat にそれぞれ系列の異なる 100,000個の整数データ(範囲 1~50000)が格納されている.今回はこれらのファイルをソートデータの対象とする.
data1~3 はランダムデータ,data4 は昇順データ,data5 は降順データ,data6 はバイトニックデータ,data7 はジグザグデータである.

課題1
 各ファイルに対して,バケットソートを適用してデータをソートさせるプログラム"bucket.c"を実現せよ.
 各ファイルに対して,この処理に要する計算時間を測定し,計算量を考察せよ.

課題2
 各ファイルに対して,挿入ソートを適用してデータをソートさせるプログラム"insert.c"を実現せよ.
 同様に処理時間の測定と計算量の考察を行え.

課題3
 各ファイルに対して,バブルソートを適用してデータをソートさせるプログラム"bubble.c"を実現せよ.
 同様に処理時間の測定と計算量の考察を行え.

課題4
 各ファイルに対して,バブルソートの改良型であるシェーカーソートを適用してデータをソートさせるプログラム"shaker.c"を実現せよ.
 同様に処理時間の測定と計算量の考察を行え.

課題5
 各ファイルに対して,クイックソートを適用してデータをソートさせるプログラム"quick.c"を実現せよ.
 同様に処理時間の測定と計算量の考察を行え.
 計算時間が大きくならないように,ピボットの選び方を工夫してみよ.

課題6
 これらの結果から各ソート方法にはどのような特徴がわかるか考察せよ.
 また,上記のソート法の他にどのような方法があるか調べてみよ.
 余力のある学生は上記の各ソートにおいて,降順ソートバージョンも実現せよ.

参考
 自宅のWindowsにCコンパイラを導入するならMingw-w64をお勧めする.
 インストールや使い方は多くのページで紹介されている.

実験レポート提出:テーマ1の実験レポートを "2501**.pdf" (**は自分の現在の出席番号)という名前で保存し,メール添付で送ること.(締め切りは 6/20(金)17:00です.)
送り先:honma@kushiro-ct.ac.jp





Copyright (C) 2000 J.LEE Co.,LTD All rights reserved.