作業6說明:
排序演算法程式作業
==============================
作業 6 : 排序演算法
功能需求:
1. 輸入整數 n 和希望產生的亂數範圍 range;
2. 輸入整數 Times 為希望跑的次數;例如:n=1000, Times=10 表示:程式會對 n=1000, 2000, 3000, ... , 10000 分別執行一次,總共 10 次
3. 請實作下列排序演算法︰
(1). Selection sort (2). Insertion sort (3). Bubble sort
(4). Quick sort (recursive versions)
(5). Quick sort (non-recursive versions)
(6). Merge sort (recursive versions)
(7). Merge sort (non-recursive versions)
(8). Heap sort
(9). Radix sort
4. 印出 Sort 後的 n 個亂數與執行各排序演算法的 CPU 時間
5. 比較其資料數量不同時,上述演算法的CPU執行時間。
6. 利用 ZedGraph 元件畫出各排序演算法的執行效能折線圖 (下圖是可能的結果)
程式的介面可以設計如下︰
可自行選擇要排序的演算法:
可利用下面教學的範例程式去修改。
ZedGraph 元件教學:https://sites.google.com/site/sjdsalg/materials/program/71-pai-xu-cheng-shi-zhicpu-shi-jian-hua-tu-biao-zedgraph
上課時教學的範例程式:
繳交的作業檔案 (上傳 moodle) 請務必包含"整個專案檔"(包含程式執行檔), 並且請"依照規定的檔案命名方式"命名
作業繳交規則:https://sites.google.com/site/sjdsalg/homework
請盡早繳交 , 避免網路壅塞 , 導致無法繳交!
繳交期限:
甲、乙班:2014/06/19 , 23:30