作業2說明:
排序演算法比較 (Heapsort、BST_Inorder、Other soring) 程式作業
==============================
作業 2 : 排序演算法比較
功能需求:
1. 輸入整數 n 和希望產生的亂數範圍 range;
2. 隨機產生 n 個範圍在 [0, range] or [1, range] 內的亂數整數,印出這 n 個亂數(可自行定義,當數字大時可不印出);
3-1. 以 Heap Sort 自小至大排序此 n 個亂數;
3-2. 利用 BST(Binary Search Tree)的中序走訪(inorder traversal)自小至大排序此 n 個亂數;
3-3. 利用 BST 非遞迴的中序走訪(inorder traversal)自小至大排序此 n 個亂數;
3-4. 其他排序演算法,自小至大排序此 n 個亂數,如:Selection sort、Insertion sort、Bubble sort、Quick sort);
4. 印出 Sort 後的 n 個亂數與執行 Heapsort、BST_Inorder、Other soring 的 CPU 時間
5. Excel 或其它工具作圖,比較三者的執行效能 (下圖是可能的結果)
加分項目:
1. 有 input 合理性檢測 (只能輸入數字, 輸入其它字元會跳出警告...等)
2. 程式註解
3. 動態配置記憶體 (動態陣列...等)
4. CPU time 的更精準的輸出 (小數點給位...等)
5. 是否輸出排序結果可選擇
6. 其它...
程式的介面可以設計如下︰
可自行選擇是否要印出資料。
產生完亂數資料,執行要排序的演算法
並把CPU時間記錄下來,到Excel或是其他統計軟體做圖。
繳交期限:
甲班- 2016/04/09 18:00 前繳交至moodle
乙班- 2016/04/09 18:00 前繳交至moodle