在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ Python算法設(shè)計
Python樹遍歷算法
Python雙端隊列
Python隊列
Python回溯
Python棧
Python數(shù)據(jù)結(jié)構(gòu)開發(fā)環(huán)境
Python數(shù)據(jù)結(jié)構(gòu)簡介
Python算法分析
Python圖遍歷算法
Python搜索算法
Python圖
Python鏈表
Python集合
Python元組
Python字典
Python矩陣
Python高級鏈表(雙向鏈表)
Python搜索樹
Python二維數(shù)組
Python堆
Python節(jié)點
Python排序算法
Python數(shù)據(jù)結(jié)構(gòu)
Python遞歸
Python列表
Python數(shù)組
Python算法設(shè)計
Python哈希表

Python算法設(shè)計

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

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

  • 搜索 - 搜索數(shù)據(jù)結(jié)構(gòu)中的項目的算法。
  • 排序 - 按特定順序?qū)椖窟M行排序的算法。
  • 插入 - 算法將項目插入數(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é)果。

第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)出許多解算法。 下一步是分析這些提出的解決方案算法并實施最合適的解決方案。