#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)
long move(int n, char a, char b,char c)
}
執行結果:
總結感受:
第二種排序方法瞬間就可以完成排序,而第一種排序方法整整卡住了15s,這期間的差距一眼就看得出來。
漢諾塔問題到了24個盤子時,也發生了明顯的卡頓,每加乙個盤子,卡頓的時間都會有明顯的延長,到31的時候幾乎可以泡杯咖啡喝,而到了32的時候,則變成了-1。
(第二週專案3)體驗複雜度
1 兩種排序演算法的執行時間 提供兩種排序演算法,複雜度為o n 2 的選擇排序selectsort,和複雜度為o nlogn 的快速排序quicksort,在main函式中加入了對執行時間的統計。利用乙個將近10萬條資料的檔案作為輸入資料執行程式,感受兩種演算法在執行時間上的差異。執行中需要的資料...
第二週專案3 體驗複雜度
檔名稱 專案3體驗複雜度.cpp 作 者 林穎 完成日期 2015年9月11日 問題描述 排序是電腦科學中的乙個基本問題,產生了很多種適合不同情況下適用的演算法,也一直作為演算法研究的熱點。本專案提供兩種排序演算法,複雜度為o n2 的選擇排序selectsort,和複雜度為o nlogn 的快速排...
第二週專案3 體驗複雜度
問題 檔名稱 複雜度.cpp 作 者 陳迪 完成日期 2016年9月6日 版 本 號 v1.0 問題描述 排序是電腦科學中的乙個基本問題,產生了很多種適合不同情況下適 用的演算法,也一直作為演算法研究的熱點。本專案提供兩種排序演算法,復 雜度為o n 2 的選擇排序selectsort,和複雜度為o...