作業5說明:
排序演算法程式作業
==============================
作業 5 : 排序演算法
功能需求:
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. 可利用BCB TChart 元件畫出各排序演算法的執行效能折線圖,或是用 Excel 圖表畫出 (下圖是可能的結果)
程式的介面可以設計如下︰
可自行選擇要排序的演算法:
可利用下面教學的範例程式去修改。
BCB TChart 元件教學:http://www.cnblogs.com/boloyonghao/archive/2012/07/23/2605186.html
上課時教學的範例程式:
========================================================================
作業繳交規則:https://sites.google.com/site/sjdsalg/homework
繳交的作業檔案 (上傳 moodle) 請務必包含"整個專案檔"(包含程式執行檔)
必須為可獨立執行檔01. 如何製作獨立執行檔
並且請"依照規定的檔案命名方式"命名
繳交期限:依照FB與MOODLE上的公布之繳交日期,如兩者期限不同請聯絡助教
請盡早繳交 , 避免網路壅塞 , 導致無法繳交!
遲交依照規定扣分, 遲交三天以上不計分。
=============================================================================