演算法與複雜度
演算法
一個演算法是有限的一組指令,如果遵循這些指令,則可以完成特定的任務。它不特定於某種語言,我們可以使用任何語言和符號來表示指令。
演算法的標準
- 輸入:零個或多個輸入由外部提供給演算法。
- 輸出:演算法至少產生一個輸出。
- 確定性:每個指令都清晰且明確。
- 有限性:在演算法中,對於所有不同的情況,它將在有限的步驟後終止。
- 有效性:每個指令都必須非常基本,因此這些指令的目的必須對我們非常清楚。
演算法分析
演算法分析是計算複雜度的重要組成部分。複雜度理論為演算法解決任何計算任務所需的資源提供了理論估計。演算法分析是根據演算法解決問題的能力(在實現時儲存所需的記憶體大小)來分析演算法的時間和空間需求的過程。然而,演算法分析的主要關注點是所需的時間或效能。
演算法的複雜度
演算法的複雜度計算演算法在大小為 (n) 的輸入下所需的時間和空間量。演算法的複雜度可以分為兩種型別。時間複雜度和空間複雜度。
演算法的時間複雜度
時間複雜度定義為確定執行該演算法所需總時間的公式的過程。此計算完全獨立於實現和程式語言。
演算法的空間複雜度
空間複雜度定義為定義一個公式來預測演算法成功執行需要多少記憶體空間的過程。記憶體空間通常被認為是主記憶體。
廣告