算法分析的主要方面是空間複雜性和時間複雜性。在計算機科學中,算法分析(英語:Analysis of algorithm)是分析執行一個給定算法需要消耗的計算資源數量(例如計算時間,存儲器使用等)的過程。算法的效率或複雜度在理論上表示爲一個函數。
其定義域是輸入數據的長度(通常考慮任意大的輸入,沒有上界),值域通常是執行步驟數量(時間複雜度)或者存儲器位置數量(空間複雜度)。算法分析是計算複雜度理論的重要組成部分。
理論分析常常利用漸近分析估計一個算法的複雜度,並使用大O符號、大Ω符號和大Θ符號作爲標記。舉例,二分查找所需的執行步驟數量與查找列表的長度之對數成正比,記爲 ,簡稱爲“對數時間”。通常使用漸近分析的原因是,同一算法的不同具體實現的效率可能有差別。但是,對於任何給定的算法,所有符合其設計者意圖的實現,它們之間的性能差異應當僅僅是一個係數。