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