專案3 體驗複雜度(1)

2021-07-22 12:42:15 字數 1443 閱讀 2725

問題:

/* 

*檔名稱:專案3.cpp

*作 者:楊雅鑫

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

*版 本 號:v1.0

*問題描述:排序是電腦科學中的乙個基本問題,產生了很多種適合不同情況下適

用的演算法,也一直作為演算法研究的熱點。本專案提供兩種排序演算法,復

雜度為o(n 2)的選擇排序selectsort,和複雜度為o(nlogn)的快速排序

quicksort,在main函式中加入了對執行時間的統計。

*輸入描述:大資料檔案

*程式輸出:資料量和排序時間

*/

程式1——複雜度是o(n2)的選擇排序程式

#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)的快速排序程式

知識點總結:

第乙個程式複雜度是n的平方,第二個程式的複雜度是nlogn,通過執行結果,可以清楚的認識到複雜度的對程式執行的影響。

學習心得:

這個程式主要考察了我們對程式時間複雜度的理解,有利於我們理解時間複雜度對程式執行的影響。

專案3 體驗複雜度

程式3 漢諾塔程式 include define disccount 1 數值可改動 程式1 include include include define maxnum 100000 程式2 include include include define maxnum 100000 void quic...

專案3 體驗複雜度(2)

問題 檔名稱 專案3 漢諾塔.cbp 作 者 楊雅鑫 完成日期 2016年9月7日 版 本 號 v1.0 問題描述 有乙個印度的古老傳說 在世界中心貝拿勒斯 在印度北部 的聖廟裡,一塊黃銅板上插著三根 寶石針。印度教的主神梵天在創造世界的時候,在其中一根針上從下到上地穿好了由大到小的64 片金片,這...

複雜度體驗 1

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