第十六周專案二 大資料集上排序演算法效能的體驗

2021-07-25 09:37:09 字數 1489 閱讀 9580

問題**:

/*問題及**  

*all right reserved.

*檔名稱:ll.cpp

*版本號;v1.0

*問題描述:

【大資料集上排序演算法效能的體驗】

*程式輸出:根據題目要求輸出。

*/

#include #include #include #include #include "sort.h"

void getlargedata(rectype *&r, int n)

} //7.歸併排序輔助1——合併有序表

void merge(rectype r,int low,int mid,int high)

else //將第2段中的記錄放入r1中

while (i<=mid) //將第1段餘下部分複製到r1

while (j<=high) //將第2段餘下部分複製到r1

for (k=0,i=low; i<=high; k++,i++) //將r1複製回r中

r[i]=r1[k];

}

//7. 歸併排序輔助2——一趟歸併

void mergepass(rectype r,int length,int n) //對整個數序進行一趟歸併

else

} t->next=null;

}

//8. 基數排序的輔助函式,釋放基數排序用的鍊錶

void destorylink(radixrectype *&p)

return;

}

//8. 實現基數排序:*p為待排序序列鍊錶指標,基數r和關鍵字位數d已經作為符號常量定義好

void radixsort(radixrectype *&p)

else

p=p->next; //取下乙個待排序的元素

} p=null; //重新用p來收集所有結點

for (j=0; jnext=head[j];

t=tail[j];

} }

t->next=null; //最後乙個結點的next域置null

//下面更新用於分離出第i位數字的d2

d2*=10;

} }

執行結果:

知識點總結:

各種排序的演算法

學習心得:

排序的種模擬較多,得在清晰的畫一畫,排一排

第十六周 專案二 大資料集上排序演算法效能的體驗

檔名稱 test.cpp 完成日期 2015年12月18日 問題描述 設計乙個函式,產生乙個至少5萬條記錄的資料集合。在同一資料集上,用直接插入排序 氣泡排序 快速排序 直接選擇排序 堆排序 歸併排序 基數排序等演算法進行排序,記錄所需要的時間,經過對比,得到對複雜度不同的各種演算法在執行時間方面的...

第十六周專案二大資料集上排序演算法效能的體驗

檔名稱 專案2.cpp 作 者 王曉慧 完成日期 2016年12月16日 版 本 號 v1.0 問題描述 採用歸併排序 快速排序等高效演算法進行排序,當資料元素較少時 如n 64 經常直接使用直接插入排序演算法等高複雜度的演算法。這樣做,會帶來一定的好處,例如歸併排序減少分配 臨時儲存區域的頻次,快...

第十六周實踐專案2 大資料集上排序演算法效能的體驗

檔名稱 專案2.cbp 作 者 劉晨筱 完成日期 2015年12月14日 版 本 號 v1.0 問題描述 設計乙個函式,產生乙個至少5萬條記錄的資料集合。在同一資料集上,用直接插入排序 氣泡排序 快速排序 直接選擇排序 堆排序 歸併排序 基數排序等演算法進行排序,記錄所需要的時間,經過對比,得到對複...