演算法導論 演算法在計算中的作用

2021-10-12 21:59:09 字數 945 閱讀 1623

非形式地說,演算法就是任何良定義(對於良定義我的理解是給出的定義是清晰,不是模稜兩可的)地計算過程,該過程取某個值或值的集合作為輸入並產生某個值或值的集合作為輸出。這樣演算法就是把輸入轉換成輸出的計算步驟的乙個序列。

我們也可以把演算法看成是用於求解良說明的計算問題的工具。一般來說,問題陳述說明了期望的輸入/輸出關係。演算法則描述乙個特定的計算過程來實現該輸入/輸出關係。

關於排序問題的形式定義:

輸入:n個數的乙個序列。

輸出:輸入序列的乙個排列,滿足b1<=b2<=b3...<=bn。

假如,給定輸入序列<31.41.59.26.41.58>,排序演算法將返回序列<26,61,41,41,58,59>作為輸出。這樣的輸入序列稱為排序問題的乙個例項。一般來說,問題例項由計算該問題解所必需的(滿足問題陳述中強加的各種約束的)輸入組成。

若對每個輸入例項,演算法都以正確的輸出停機,則稱該演算法是正確的,並稱正確的演算法解決了給定的計算問題。不正確的演算法對某些輸入例項可能根本不停機,也可能以不正確的回答停機。

演算法可以用英文說明,也可以說明成電腦程式,甚至說明成硬體設計。唯一的要求是這個說明必須精確描述所要遵循的計算過程。

許多有趣的演算法問題所共有的兩個特徵:存在許多候選解(通常我們是尋找真正的解或乙個最好的解)。存在實際問題(比如最短路徑問題可以解決一些實際的導航問題)。

計算機並不是無限快,儲存器也不是免費的。你應該明智地使用這些資源,在時間或空間方面有效的演算法將幫助你怎樣使用資源。求解相同問題而設計的不同演算法在效率方面常常具有顯著的差別。

最後,是否具有演算法知識與技術的堅實基礎是區分真正熟練的程式設計師與初學者的乙個特徵。

演算法在計算中的作用

1.2 作為一種技術的演算法 小結在決定學習演算法導論之前,需要首先明確幾個問題 先問問自己是否清楚這些問題,是否對這些問題有求知慾,是否想深入研究,如果是請繼續往下看,或許你能從中找到答案!非正式地說演算法就是任何良定義的計算過程,換言之,涉及計算的皆可以稱之為演算法。同時我們也可以把演算法理解為...

演算法在計算中的作用

演算法 演算法就是任何良定義的計算過程,該過程取某個值或值的集合作為輸入並產生某個值或值的集合作為輸出。演算法問題 特徵 存在許多候選解,但絕大多數候選解都沒有解決手頭的問題。尋找真正的解或更好的解 存在實際應用。演算法解決的每個問題並不是都有乙個容易識別的候選解集。演算法的幾大內容 是一種儲存和組...

演算法導論 第一章 演算法在計算中的作用

def 演算法是乙個計算過程,即將輸入轉化為輸出的計算步驟的乙個序列。演算法是解決乙個精確定義的計算問題的工具,演算法用於處理問題,但乙個問題通常可以由不同演算法來解決。正確性 即能夠對每個輸入例項,演算法都以正確的輸出停機,則稱該演算法是正確的,並稱正確的演算法解決了給定的計算問題。複雜性 執行該...