Python 算法設(shè)計

python 算法設(shè)計

算法是一個循序漸進(jìn)的過程,它定義了一組指令,以一定的順序執(zhí)行以獲得所需的輸出。算法通常獨立于底層語言而創(chuàng)建,即算法可以用多種編程語言實現(xiàn)。

從數(shù)據(jù)結(jié)構(gòu)的角度來看,以下是一些重要的算法類別 -

  • 搜索 - 搜索數(shù)據(jù)結(jié)構(gòu)中的項目的算法。

  • 排序 - 按 特定順序?qū)椖窟M(jìn)行 排序的 算法。

  • 插入 - 算法將項目插入數(shù)據(jù)結(jié)構(gòu)中。

  • 更新 - 更新數(shù)據(jù)結(jié)構(gòu)中現(xiàn)有項目的算法。

  • 刪除 - 從數(shù)據(jù)結(jié)構(gòu)中刪除現(xiàn)有項目的算法。

 

算法的特點

并非所有的程序都可以稱為算法。算法應(yīng)該具有以下特征 -

  • 毫不含糊 - 算法應(yīng)該清晰明確。 每個步驟(或階段)及其輸入/輸出都應(yīng)該清楚,并且必須僅導(dǎo)致一個含義。

  • 輸入 - 算法應(yīng)該有0個或更多明確定義的輸入。

  • 輸出 - 算法應(yīng)該有一個或多個定義良好的輸出,并且應(yīng)該與所需的輸出相匹配。

  • 有限性 - 算法必須在有限數(shù)量的步驟后終止。

  • 可行性 - 可用資源應(yīng)該可行。

  • 獨立 - 一個算法應(yīng)該有一步一步的指示,它應(yīng)該獨立于任何編程代碼。

 

如何編寫算法?

編寫算法沒有明確的標(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é)果。

step 1 ? start
step 2 ? declare three integers a, b & c
step 3 ? define values of a & b
step 4 ? add values of a & b
step 5 ? store output of step 4 to c
step 6 ? print c
step 7 ? stop

算法告訴程序員如何編寫程序?;蛘撸撍惴梢詫懗?-

step 1 ? start add
step 2 ? get values of a & b
step 3 ? c ← a + b
step 4 ? display c
step 5 ? stop

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

編寫 步驟編號 是可選的。

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

一個問題很多解決方案

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

下一節(jié):python 算法分析

python 數(shù)據(jù)結(jié)構(gòu)

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频