問題及**:
慢速排序:
/*
*煙台大學電腦科學與技術學院
*檔名稱:y.cpp
*作 者:楊甯
*完成日期:2023年9月11日
*問題描述:兩種排序演算法的執行時間
*輸入描述:無
*程式輸出:資料量及排序執行過程
*/#include #include #include #define maxnum 100000
void selectsort(int a, int n)
if(k != j)
}}int main()
while(fscanf(fp, "%d", &x[n])!=eof)
n++;
printf("資料量:%d, 開始排序....", n);
t1=time(0);
selectsort(x, n);
t2=time(0);
printf("用時 %d 秒!", (int)(t2-t1));
fclose(fp);
return 0;
}
快速排序:
#include #include #include #define maxnum 100000
void quicksort(int data,int first,int last)
{ int i, j, t, base;
if (first>last)
return;
base=data[first];
i=first;
j=last;
while(i!=j)
{while(data[j]>=base && i
執行結果:
慢速:
快速:
知識點及總結:
main函式中提供了排序演算法,比較兩種演算法的排序速度,函式中加入了對時間的統計。
學習心得:
對於多種方式,可放在程式中比較其優劣性。顯而易見。
(第二週專案3)體驗複雜度
1 兩種排序演算法的執行時間 提供兩種排序演算法,複雜度為o n 2 的選擇排序selectsort,和複雜度為o nlogn 的快速排序quicksort,在main函式中加入了對執行時間的統計。利用乙個將近10萬條資料的檔案作為輸入資料執行程式,感受兩種演算法在執行時間上的差異。執行中需要的資料...
第二週專案3(1)體驗複雜度
檔名稱 體驗複雜度.cpp 作 者 彭子竹 完成日期 2015年9月18日 版 本 號 v1.0 問題描述 排序是電腦科學中的乙個基本問題,產生了很多種適合不同情況下適 用的演算法,也一直作為演算法研究的熱點。本專案提供兩種排序演算法,復 雜度為o n 2 的選擇排序selectsort,和複雜度為...
第二週專案3(2)體驗複雜度
檔名稱 複雜度2漢諾塔.cpp 作 者 彭子竹 完成日期 2015年9月18日 版 本 號 v1.0 問題描述 有乙個印度的古老傳說 在世界中心貝拿勒斯 在印度北部 的聖廟裡,一塊黃銅板上插著三根 寶石針。印度教的主神梵天在創造世界的時候,在其中一根針上從下到上地穿好了由大到小的64 片金片,這就是...