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

演算法的時間複雜度是指

Jul 23, 2019 am 11:20 AM
演算法

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

演算法的時間複雜度是指

演算法是在有限步驟內求解某一問題所使用的一組定義明確的規則。 (推薦學習: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中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。