第二週 體驗複雜度

2021-08-08 04:22:42 字數 1404 閱讀 1300

/* 

*檔名稱:main.cpp 

*作    者:盛凱

*完成日期:2023年9月13日 

*版 本 號:v1.0 

* *問題描述:使用兩種不同的演算法對十萬條資料進行排序 

*輸入描述:含有十萬條資料的文件 

*程式輸出:見程式執行截圖 

*/#include 

#include 

#include 

#define maxnum 100000

void

selectsort(

inta, 

intn)  

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(

intdata,

intfirst,

intlast)  

}  data[first]=data[i];   

data[i]=base;   

quicksort(data,first,i-1);  

quicksort(data,i+1,last);   

}  int

main()  

while

(fscanf(fp, 

"%d"

, &x[n])!=eof)  

n++;  

printf("資料量:%d, 開始排序...."

, n);  

t1=time(0);  

quicksort(x, 0, n-1);  

t2=time(0);  

printf("用時 %d 秒!"

, (int

)(t2-t1));  

fclose(fp);  

return

0;  

}  運**況如圖:

快速排序:

選擇排序:

總結:乙個好的演算法是極其重要的,在資料量變大之後,程式執行上時間會相差很多。

(第二週專案3)體驗複雜度

1 兩種排序演算法的執行時間 提供兩種排序演算法,複雜度為o n 2 的選擇排序selectsort,和複雜度為o nlogn 的快速排序quicksort,在main函式中加入了對執行時間的統計。利用乙個將近10萬條資料的檔案作為輸入資料執行程式,感受兩種演算法在執行時間上的差異。執行中需要的資料...

第二週專案(4) 體驗複雜度

問題及 慢速排序 煙台大學電腦科學與技術學院 檔名稱 y.cpp 作 者 楊甯 完成日期 2015年9月11日 問題描述 兩種排序演算法的執行時間 輸入描述 無 程式輸出 資料量及排序執行過程 include include include define maxnum 100000 void sel...

第二週專案3(1)體驗複雜度

檔名稱 體驗複雜度.cpp 作 者 彭子竹 完成日期 2015年9月18日 版 本 號 v1.0 問題描述 排序是電腦科學中的乙個基本問題,產生了很多種適合不同情況下適 用的演算法,也一直作為演算法研究的熱點。本專案提供兩種排序演算法,復 雜度為o n 2 的選擇排序selectsort,和複雜度為...