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

2021-07-05 05:39:25 字數 1045 閱讀 2161

(1)兩種排序演算法的執行時間

提供兩種排序演算法,複雜度為o(n 2  )的選擇排序selectsort,和複雜度為o(nlogn) 的快速排序quicksort,在main函式中加入了對執行時間的統計。

利用乙個將近10萬條資料的檔案作為輸入資料執行程式,感受兩種演算法在執行時間上的差異。

執行中需要的資料檔案

<1>複雜度為o(n 2  )

#include #include #include #define maxnum 100000

void selectsort(int a, int n)

if(k != j)

}}int main()

結果

<2>複雜度為o(nlogn)

#include #include #include #define maxnum 100000

void quicksort(int data,int first,int last)

long move(int n, char a, char b,char c)

}

結果

總結複雜度不同,執行時間不在乙個等級。n越大,部分數級改變明顯。

心得讀取txt檔案要將其與程式放在乙個工程下。從define裡改變量。

第二週 專案3 體驗複雜度

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 sel...

第二週專案3 體驗複雜度

檔名稱 專案3體驗複雜度.cpp 作 者 林穎 完成日期 2015年9月11日 問題描述 排序是電腦科學中的乙個基本問題,產生了很多種適合不同情況下適用的演算法,也一直作為演算法研究的熱點。本專案提供兩種排序演算法,複雜度為o n2 的選擇排序selectsort,和複雜度為o nlogn 的快速排...

第二週專案3 體驗複雜度

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