Python算法設計

算法是一個循序漸進的過程,它定義了一組指令,以一定的順序執行以獲得所需的輸出。 算法通常獨立於底層語言,即算法可以以多種編程語言實現。

從數據結構的角度來看,以下是一些重要的算法類別 -

  • 搜索 - 搜索數據結構中的項目的算法。
  • 排序 - 按特定順序對項目進行排序的算法。
  • 插入 - 算法將項目插入數據結構中。
  • 更新 - 更新數據結構中現有項目的算法。
  • 刪除 - 從數據結構中刪除現有項目的算法。

算法的特點

並非所有的程序都可以稱爲算法。算法應該具有以下特徵 -

  • 毫不含糊 - 算法應該清晰明確。每個步驟(或階段)及其輸入/輸出都應該清楚,並且必須僅導致一個含義。
  • 輸入 - 算法應該有0個或更多明確定義的輸入。
  • 輸出 - 算法應該有一個或多個定義良好的輸出,並且應該與所需的輸出相匹配。
  • 有限性 - 算法必須在有限數量的步驟後終止。
  • 可行性 - 可用資源應該可行。
  • 獨立 - 一個算法應該有一步一步的指示,它應該獨立於任何編程代碼。

如何編寫算法?

編寫算法沒有明確的標準。 相反,它依賴於問題和資源。 從不編寫算法來支持特定的編程代碼。

所有編程語言都共享像循環(doforwhile),流控(if-else)等基本代碼構造。這些常用構造可用於編寫算法。

算法編寫是一個過程,並在問題域定義之後執行。 也就是說,應該知道問題領域,爲此來設計一個解決方案。

示例

下面通過一個例子來學習算法寫作。

問題 - 設計一個算法來將兩個數字相加並顯示結果。

第1步 − 開始
第2步 − 聲明三個數字值變量:a, b & c
第3步 − 給定變量: a & b 的值
第4步 − 將兩個變量 a & b 相加
第5步 − 將第4步中的計算值到 c 變量
第6步 − 打印:c 的值
第7步 − 完成

算法告訴程序員如何編寫程序。 或者,該算法可以寫成 -

第1步 − 開始相加
第2步 − 獲取 a & b 的值
第3步 − c ← a + b
第4步 − 打印顯示:c 的值
第5步 − 完成

在算法的設計和分析中,通常使用第二種方法來描述算法。 它使分析人員可以輕鬆分析忽略所有不需要的定義的算法。 可以觀察正在使用的操作以及流程的流程。

編寫步驟是可選的。

我們設計一個算法來獲得給定問題的解決方案。 一個問題可以通過多種方式解決。

Python算法設計

因此,對於給定的問題,可以導出許多解算法。 下一步是分析這些提出的解決方案算法並實施最合適的解決方案。