演算法是一個循序漸進的過程,它定義了一組指令,以一定的順序執行以獲得所需的輸出。 演算法通常獨立於底層語言,即演算法可以以多種程式設計語言實現。
從資料結構的角度來看,以下是一些重要的演算法類別 -
演算法的特點
並非所有的程式都可以稱為演算法。演算法應該具有以下特徵 -
0
個或更多明確定義的輸入。編寫演算法沒有明確的標準。 相反,它依賴於問題和資源。 從不編寫演算法來支援特定的程式設計程式碼。
所有程式設計語言都共用像迴圈(do
,for
,while
),流控(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步 ? 完成
在演算法的設計和分析中,通常使用第二種方法來描述演算法。 它使分析人員可以輕鬆分析忽略所有不需要的定義的演算法。 可以觀察正在使用的操作以及流程的流程。
編寫步驟是可選的。
我們設計一個演算法來獲得給定問題的解決方案。 一個問題可以通過多種方式解決。
因此,對於給定的問題,可以匯出許多解演算法。 下一步是分析這些提出的解決方案演算法並實施最合適的解決方案。