/*
*all right reserved
*檔名稱:test.cpp
*作 者:邱暖
*完成日期:2023年9月14日
*版本號 :v1.10
*問題描述:感受複雜度為o(n^2)的選擇排序和複雜度為o(nlogn)的快速排序在執行時間上的差異
*/
(1)複雜度是o(n^2)的選擇排序程式
#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;
}
執行結果:
(2)複雜度為o(nlogn)的快速排序程式
#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執行結果:
學習心得:
通過對比兩種程式的執行結果可以看出,複雜度是o(n^2)的選擇排序的執行時間
比複雜度是o(nlogn)d的快速排序的執行時間要長。因此,我們不僅可以得到複雜度與執行時間成正比。
兩種排序演算法的執行時間
問題及 2015級,煙台大學計算機與控制工程學院 作 者 陳朋 完成日期 2016年9月8日 輸入描述 大資料檔案 程式輸出 資料量和排序時間 include include include define maxnum 100000 void selectsort int a,int n if k ...
第二週專案3 體驗複雜度 兩種排序演算法的執行時間
問題及 煙台大學計控學院 作 者 張冰 完成日期 2016年9月7日 問題描述 排序是電腦科學中的乙個基本問題,產生了很多種適合不同情況下適用的演算法,也一直作為演算法研究的熱點。本專案提供兩種排序演算法,複雜度為o n 2 的選擇排序selectsort,和複雜度為o nlogn 的快速排序qui...
第二週專案3 體驗複雜度 兩種排序演算法的執行時間
問題及 檔名稱 sss.cpp 作 者 車佳穎 完成日期 2016年9月7日 問題描述 排序是電腦科學中的乙個基本問題,產生了很多種適合不同情況下適用的演算法,也一直作為演算法研究的熱點。本專案提供兩種排序演算法,複雜度為o n 2 的選擇排序selectsort,和複雜度為o nlogn 的快速排...