在計算機科學中,算法的時間複雜度是一個函數,它定性描述該算法的運行時間。
這是一個代表算法輸入值的字符串的長度的函數。時間複雜度常紉大O符號表示,不包括這個函數的低價項和首項係數。用這種方式時,時間複雜度可稱為漸近的,即考察輸入值大小趨近無窮叮情況。
例如,如果一個算法對孑任何大小為η(必須比no大)的輸入,它至多需要5n十3n的時間運行完畢,那麼它的漸進時間複雜度是O(n)。
為了計算時間複雜度,我們通常會估計算法的操作單元數量,每個單元運行的時間是相同的。因此,總運行時間和算法的操作單元數量最多相差一個常量係數。相同大小的不同輸入值仍可能造成算法的運行時間不同,因此我們通常使用的算法最壞情況複雜度,記為T(n),定義為任何大小的輸入n所需們最大運行時間。
另一種較小使用的方法是平均情況複雜度
通常有特別指定才會使用。時間複雜度可以用函數T(n)的自然特性加以分類,例:有看T(n)=o(n)的算法被霜作“線咕時間算法”,而T(n)=o(n)和M=o(Tn),其中M≥n﹥1的算法被稱作“指、時間算法”。