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

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

Python算法設(shè)計(jì)

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

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

  • 搜索 - 搜索數(shù)據(jù)結(jié)構(gòu)中的項(xiàng)目的算法。
  • 排序 - 按特定順序?qū)?xiàng)目進(jìn)行排序的算法。
  • 插入 - 算法將項(xiàng)目插入數(shù)據(jù)結(jié)構(gòu)中。
  • 更新 - 更新數(shù)據(jù)結(jié)構(gòu)中現(xiàn)有項(xiàng)目的算法。
  • 刪除 - 從數(shù)據(jù)結(jié)構(gòu)中刪除現(xiàn)有項(xiàng)目的算法。

算法的特點(diǎn)

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

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

如何編寫算法?

編寫算法沒(méi)有明確的標(biāo)準(zhǔn)。 相反,它依賴于問(wèn)題和資源。 從不編寫算法來(lái)支持特定的編程代碼。

所有編程語(yǔ)言都共享像循環(huán)(do,forwhile),流控(if-else)等基本代碼構(gòu)造。這些常用構(gòu)造可用于編寫算法。

算法編寫是一個(gè)過(guò)程,并在問(wèn)題域定義之后執(zhí)行。 也就是說(shuō),應(yīng)該知道問(wèn)題領(lǐng)域,為此來(lái)設(shè)計(jì)一個(gè)解決方案。

示例

下面通過(guò)一個(gè)例子來(lái)學(xué)習(xí)算法寫作。

問(wèn)題 - 設(shè)計(jì)一個(gè)算法來(lái)將兩個(gè)數(shù)字相加并顯示結(jié)果。

第1步 ? 開(kāi)始
第2步 ? 聲明三個(gè)數(shù)字值變量:a, b & c
第3步 ? 給定變量: a & b 的值
第4步 ? 將兩個(gè)變量 a & b 相加
第5步 ? 將第4步中的計(jì)算值到 c 變量
第6步 ? 打印:c 的值
第7步 ? 完成

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

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

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

編寫步驟是可選的。

我們?cè)O(shè)計(jì)一個(gè)算法來(lái)獲得給定問(wèn)題的解決方案。 一個(gè)問(wèn)題可以通過(guò)多種方式解決。

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