時間複雜度:演算法需要執行的次數。
空間複雜度:演算法需要消耗的記憶體空間大小。
計算 1加到100
演算法1:(1+100)*(100/2) =5050 時間複雜度 0(1) 因為只執行了一次。
演算法2:(偽**) for 迴圈 遍歷 i++ 直到計算到100 時間複雜度 0(n) 執行了100次
演算法3:(偽**) 雙重for 迴圈 ---這裡可能不太符合 1 加到 100 但為了理解如何計算使用另外一例:
for(int i = 0; i < n; i++)
} //時間複雜度o(n^2) 也就是平方階
演算法4:這個目前沒看懂怎麼算的。
int i = 1, n = 100;
while(i < n)
//設執行次數為x. 2^x = n 即x = log2n
//時間複雜度o(log2n)
概念理解 時間複雜度 空間複雜度
一.時間複雜度 time complexity 在進行演算法分析時,語句總執行次數t n 是關於問題規模 n 的函式。進而分析執行次數t n 隨規模 n 的變化情況並確定t n 的數量級。演算法的時間複雜度就是演算法的時間度量,記作t n o f n 它表示隨問題規模 n 的增大,演算法的執行時間的...
時間複雜度 和 空間複雜度 的理解
目錄 時間複雜度 時間複雜度計算 空間複雜度 空間複雜度計算 常量空間 線性空間 二維空間 遞迴空間 若存在函式f n 當n趨於無窮大時,t n f n 的極限值是不為零的常數,那麼就稱f n 是t n 的同數量級函式。記作t n o f n 也稱之為o f n o為演算法的時間複雜度。知道了什麼是...
關於時間複雜度空間複雜度的理解
對於非科班出身的人來說,在學習演算法的時候經常會遇到的問題就是關於對事件空間複雜度的 理解。大 o 表示法 的準確的數學描述方式非常枯燥,我在這裡就不貼出來湊字數了,其實大 o 表示法的意思挺簡單的,就是表示 隨著輸入的值變化,程式執行所需要的時間與輸入值的變化關係。我們先看第乙個 這是乙個函式,輸...