空間複雜度和時間度的概念

2021-08-02 04:55:46 字數 745 閱讀 7537

1、時間複雜度:它是乙個函式,定量地表述了演算法占用的時間,時間複雜度使用大寫o表示,時間複雜度需要分析乙個演算法在執行過程中的

基本操作,計量所有操作的數量,

假設乙個基本的操作在乙個固定的時間內完成,那麼該演算法的總執行時間和總操作量,無非就是常量係數的關係。有時對於大小相同的輸入,效率也是不同的,因為係數不同;因此常對最壞時間複雜度進行分析,對於給定大小的任何輸入,某個演算法的最大執行時間記為t(n),通常根據t(n)對乙個演算法的時間複雜度進行分類,例如t(n)=o(n)我們稱起具有線性時間,再例如:t(n)=o(n^3),稱其具有指數時間;

漸進複雜度:時間複雜度是漸進的,它考察當輸入值趨於無窮大時的情況,例如乙個演算法對於任意乙個輸入n,它最多需要8n^3+10*n的時間才能執行完畢,那麼它的漸進複雜度為o(n^3);

具體定義:一般情況下,演算法中基本操作的次數

是問題規模n的某個函式,用t(n)來表示,若有某個輔助函式f(n),使得n趨於無窮大時,t(n)/f(n)的極限值為不等於零的常數,則成f(n)是t(n)的同量級函式,記作

t(n)=o(f(n))

,稱o(f(n))

為演算法的漸進時間複雜度

(o是數量級的符號 )

,簡稱時間複雜度。

2、空間複雜度:計算乙個演算法占用的儲存空間,一般是輸入引數的函式,是衡量乙個演算法優劣的重要指標,空間複雜度越小,效率越高,占用儲存空間越小;

接下來會介紹常用資料結構及演算法實現;

時間複雜度和空間複雜度的概念

演算法複雜度 分為時間複雜度和空間複雜度 其作用 時間複雜度是度量演算法執行的時間長短 而空間複雜度是度量演算法所需儲存空間的大小。乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測試才能 知道。但我們不可能也沒有必要對每個演算法都上機測試,只需知道哪個演算法花費的時間多,哪個演算法...

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

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

時間複雜度和空間複雜度

同一問題可用不同演算法解決,而乙個演算法的質量優劣將影響到演算法乃至程式的效率。演算法分析的目的在於選擇合適演算法和改進演算法。乙個演算法的評價主要從時間複雜度和空間複雜度來考慮。1 時間複雜度 1 時間頻度 乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測試才能知道。但我們不可能...