算法是一個循序漸進的過程,它定義了一組指令,以一定的順序執(zhí)行以獲得所需的輸出。 算法通常獨立于底層語言,即算法可以以多種編程語言實現(xiàn)。
從數(shù)據(jù)結(jié)構(gòu)的角度來看,以下是一些重要的算法類別 -
算法的特點
并非所有的程序都可以稱為算法。算法應(yīng)該具有以下特征 -
0個或更多明確定義的輸入。編寫算法沒有明確的標(biāo)準(zhǔn)。 相反,它依賴于問題和資源。 從不編寫算法來支持特定的編程代碼。
所有編程語言都共享像循環(huán)(do,for,while),流控(if-else)等基本代碼構(gòu)造。這些常用構(gòu)造可用于編寫算法。
算法編寫是一個過程,并在問題域定義之后執(zhí)行。 也就是說,應(yīng)該知道問題領(lǐng)域,為此來設(shè)計一個解決方案。
示例
下面通過一個例子來學(xué)習(xí)算法寫作。
問題 - 設(shè)計一個算法來將兩個數(shù)字相加并顯示結(jié)果。
第1步 ? 開始
第2步 ? 聲明三個數(shù)字值變量: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步 ? 完成
在算法的設(shè)計和分析中,通常使用第二種方法來描述算法。 它使分析人員可以輕松分析忽略所有不需要的定義的算法。 可以觀察正在使用的操作以及流程的流程。
編寫步驟是可選的。
我們設(shè)計一個算法來獲得給定問題的解決方案。 一個問題可以通過多種方式解決。

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