首頁 > 常見問題 > 演算法的時間複雜度是指

演算法的時間複雜度是指

(*-*)浩
發布: 2019-07-23 11:20:13
原創
55491 人瀏覽過

演算法的時間複雜度是指演算法執行過程中所需的基本運算次數。

演算法的時間複雜度是指

演算法是在有限步驟內求解某一問題所使用的一組定義明確的規則。 (推薦學習:MySQL影片教學

通俗地說,就是電腦解題的過程。演算法的複雜性是演算法效率的度量,是演算法運作所需的電腦資源的量,是評估演算法優劣的重要依據。我們可以從一個演算法的時間複雜度與空間複雜度來評估演算法的優劣。

當演算法轉換成程式並在電腦上執行時,其運作所需的時間取決於下列因素:

(1)硬體的速度。

(2)書寫程式的語言。實現語言的等級越高,其執行效率就越低。

(3)編譯程式所產生目標程式碼的品質。對於程式碼最佳化較好的編譯程序,其產生的程式品質較高。

(4)問題的規模。例如,求100以內的質數與求1000以內的質數,其執行時間必然是不同的。

顯然,在各種因素都無法確定的情況下,很難比較出演算法的執行時間。也就是說,使用執行演算法的絕對時間來衡量演算法的效率是不合適的。因此不能用演算法程式的執行時間或程式長短來確定時間複雜度,而應該用演算法執行過程中所需的基本運算次數來衡量

時間頻率  一個演算法花費的時間與演算法中語句的執行次數成正比例,哪個演算法中語句執行次數多,它花費時間就多。一個演算法中的語句執行次數稱為時間頻度。記為T(n)。

時間複雜度   在剛才提到的時間頻度中,n稱為問題的規模,當n不斷變化時,時間頻度T(n)也會不斷變化。但有時我們想知道它改變時呈現什麼規律。為此,我們引入時間複雜度概念。

一般情況下,演算法中基本操作重複執行的次數是問題規模n的某個函數,用T(n)表示,若有某個輔助函數f(n),使得當n趨近於無窮大時,T(n)/f(n)的極限值為不等於零的常數,則稱f(n)為T(n)的同數量級函數。記作T(n)=O(f(n)),稱O(f(n)) 為演算法的漸進時間複雜度,簡稱時間複雜度。

更多MySQL相關技術文章,請造訪MySQL教學欄位進行學習!

以上是演算法的時間複雜度是指的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
php的運算方法
來自於 1970-01-01 08:00:00
0
0
0
javascript - 前端面試的一道演算法題
來自於 1970-01-01 08:00:00
0
0
0
javascript - 下面的這段演算法程式碼求解釋
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板