第2周專案3 體驗複雜度

2021-07-05 09:02:18 字數 1187 閱讀 4832

/* 

*檔名稱:複雜度.cpp

*作 者:張晗

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

*版 本 號:v1.0

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

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

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

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

*輸入描述:大資料檔案

*程式輸出:執行時間

*/

程式一**:

#include #include #include #define maxnum 100000   

void selectsort(int a, int n)

if(k != j)

} }

int main()

執行結果:

程式二**:

#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

執行結果:

從這兩個程式執行時間來看,第乙個程式執行了13秒,第二個程式執行時間為0秒,顯然第二個程式用時較短。從複雜度方面來看,第乙個程式的複雜度是指數型增長,第二個程式的複雜度是線性增長,所以第二個執行時間短。

知識點總結:

主要考察了我們對程式時間複雜度的理解

第2周 專案3 體驗複雜度

問題及 檔名稱 test.cpp 作 者 董子賓 完成日期 2015年 9 月 11日 版 本 號 v1.0 問題描述 體驗複雜度是o n 2 的選擇排序程式和複雜度為o nlogn 的快速排序程式 問題輸入 無 問題輸出 程式執行時間 複雜度是o n 2 的選擇排序程式 include inclu...

第2周專案3體驗複雜度

複雜度是o n 2 的選擇排序程式 問題及 煙台大學計算機與控制工程學院 問題描述 排序是電腦科學中的乙個基本問題,產生了很多種適合不同情況下適用的演算法,也一直作為演算法研究的熱點。本專案提供兩種排序演算法,複雜度為o n 2 的選擇排序selectsort,和複雜度為o nlogn 的快速排序q...

第2周專案3體驗複雜度

煙台大學計算機與控制工程學院 完成日期 2015年10月12日 問題描述 兩種排序演算法 選擇排序和快速排序 的執行時間 程式輸出 執行時間 include include include define maxnum 100000 void selectsort int a,int n if k j...