時間複雜度及其一些概念

2021-10-14 07:44:02 字數 748 閱讀 5309

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-qsjgfrvy-1610111794544)(

最好情況下的時間複雜性

最壞情況下的時間複雜性

平均情況下的時間複雜性

算時間複雜度:

求下列函式的漸近表示式

1.3n2+10n=o(n^2);

2.n2/10+2n=o(2n);

3.21+1/n=o(1);

4.logn3=o(logn);

5.10log3n=o(n);

常見的表示:

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-wbbzx4a7-1610111528428)(

參考:

討論o(1) 和o(2) 的區別

按照漸近階從低到高的順序排列以下表示式:

輸入:有0或多個外部提供的量作為演算法的輸入

輸出:演算法至少乙個量作為輸出

確定性:組成演算法每條指令是清晰的,無歧義的

有限性:演算法的執行次數是有限的,執行每條指令的時間也是有限的

可行性:演算法中的所有運算都是基本的,原則上它們都能夠精確地進行,而且進行有窮次即可完成

例如作業系統,是乙個在無限迴圈中執行的程式,因而不是乙個演算法。作業系統的各種任務可看成是單獨的問題,每乙個問題由作業系統中的乙個子程式通過特定的演算法來實現。該子程式得到輸出結果後便終止。

概念理解 時間複雜度 空間複雜度

一.時間複雜度 time complexity 在進行演算法分析時,語句總執行次數t n 是關於問題規模 n 的函式。進而分析執行次數t n 隨規模 n 的變化情況並確定t n 的數量級。演算法的時間複雜度就是演算法的時間度量,記作t n o f n 它表示隨問題規模 n 的增大,演算法的執行時間的...

關於時間複雜度和空間複雜度的一些想法

在學c語言程式設計的時候,相信很多朋友都不會涉及時間複雜度和空間複雜度的概念,我在學譚浩強的c的時候,也不曾有過關於複雜度的概念,後來學習了資料結構,其中裡面的幾種結構,才真正對複雜度有了認識,原因是c語言程式設計,即使是acm程式題,也未必有嚴格的時間和空間限制,乙個小小的程式,少則30行,多則6...

時間複雜度的概念

時間複雜度 1 時間頻度 乙個 演算法 執行所耗費的時間,從理論上是不能算出來的,必須上機執行測試才能知道。但我們不可能也沒有必要對每個 演算法 都上機測試,只需知道哪個 演算法 花費的時間多,哪個 演算法 花費的時間少就可以了。並且乙個 演算法 花費的時間與演算法中語句的執行次數 成正比例 哪個演...