Deadline: 2021/01/18 (Tue.) 23:30
功能需求:
1. 輸入整數 n 和希望產生的亂數範圍 range;
2. 輸入整數 Times 為希望執行的次數;例如:n=1000, Times=10 表示:程式會對 n=1000, 2000, 3000, ... , 10000 分別執行一次,總共 10 次;回報其時間。
*2-1. (可省略、加分用) 為求數據準確,建議多 run 若干次以平均執行時間回報 (如:n=1000 時會 run 12 次 (可輸入 # of loops),捨去時間最佳、最差者各兩次,用其餘 8 次取平均),以上參數皆自行斟酌命名、設定其值。
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 圖表畫出 (下圖是可能的結果)