1. 內(nèi)部排序演示
問題描述
設(shè)計(jì)一個(gè)測試程序比較幾種排序算法的關(guān)鍵字比較次數(shù)和移動(dòng)次數(shù)以取得直觀感受。
基本要求
(1)對起(冒)泡排序、直接插入排序、簡單選擇排序、快速排序、希爾排序、堆排序算法進(jìn)行比較;
(2)待排序的元素的關(guān)鍵字為整數(shù)。其中的數(shù)據(jù)要用偽隨機(jī)產(chǎn)生程序產(chǎn)生(如10000個(gè)),至少用5組不同的輸入數(shù)據(jù)做比較,再使用各種算法對其進(jìn)行排序,記錄其排序時(shí)間,再匯總比較;
(3)演示程序以人機(jī)對話的形式進(jìn)行。每次測試完畢顯示各種比較指標(biāo)值的列表,用條形圖(星號(hào)表示)進(jìn)行表示,以便比較各種排序的優(yōu)劣。
測試數(shù)據(jù)
由隨機(jī)數(shù)產(chǎn)生器生成
實(shí)現(xiàn)提示
主要工作是設(shè)法在已知算法中的適當(dāng)位置插入對關(guān)鍵字的比較次數(shù)和移動(dòng)次數(shù)的計(jì)數(shù)操作。程序還可以考慮幾組數(shù)據(jù)的典型性,如:正序、逆序和不同程度的亂序。注意采用分塊調(diào)試的方法。
選作內(nèi)容
(1)對不同表長進(jìn)行比較
(2)驗(yàn)證各算法的穩(wěn)定性
標(biāo)簽:
排序
比較
快速排序
測試程序
上傳時(shí)間:
2014-01-03
上傳用戶:lindor