幾個概念:
演算法的複雜度:演算法的時間複雜度和演算法的空間複雜度
時間複雜度:實際上就是乙個函式,該函式計算的是執行基本操的次數
演算法存在最好,平均,最壞情況:
空間複雜度:函式中建立個數關於問題規模函式表示式。
時間複雜度與空間複雜度一般用o的漸進表示法表示。
1
void test(int n)
}
總執行次數:10次
時間複雜度:o(1)
2
void test(int n)
for(int i=0;i<2*n;i++)
for(int i=0;ifor(int j=0;jcount++;}}
}
總執行次數:n^2+2*n+10
時間複雜度:o(n^2)
3
void test(int m,int n)
}}
總執行次數:2*m*n
時間複雜度:o(mn)
4
intsum(int n)
空間複雜度:o(1)
5
int*merge(int
*arr1,int size1,int
*arr2,int siz2)
空間複雜度:o(size1+size2)即o(m+n) 資料結構 時間複雜度 空間複雜度
1.演算法效率 演算法效率可以用來衡量乙個演算法的好壞 演算法效率分析分為兩種 第一種是時間效率,第二種是空間效率.時間效率被稱為時間複雜度,空間效率被稱為空間複雜度.時間複雜度主要衡量的是乙個演算法的執行速度,而空間複雜度主要衡量乙個演算法所需要的額外空間,在計算機發展的早期,計算機的儲存容量很小...
資料結構 時間 空間複雜度
1 演算法是指令的有窮序列。5個特徵 有窮性,確定性,可行性,輸入,輸出。4個要求 正確性,可讀性,健壯性,效率與低儲存量。2 漸進時間複雜度 t n o f n 漸進時間複雜度衡量的是乙個演算法基本操作執行次數的數量級,而不是單純地比較程式執行時間的長短。其真實意義應該是 是如果問題規模 n 趨向...
資料結構 時間 空間複雜度
2020 9 17 時間複雜度指演算法中基本運算的頻度,即某條語句在演算法中被重複執行的次數。例如 i i 2表示2的 i 次方小於等於n 方法 找出主體語句 即while或for語句 中與t n 成正比的迴圈變數,得到執行次數t,小於等於n 遞迴程式 t n 1 t n 1 n 1 t 1 t n...