A. 什麼叫演算法演算法有哪幾種表示方法
演算法(Algorithm)是指解題方案的准確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。計算機科學家往往將「演算法」一詞的含義限定為此類「符號演算法」。「演算法」概念的初步定義:一個演算法是解決一個問題的進程。而並不需要每次都發明一個解決方案。
已知的演算法有很多,例如「分治法」、「枚舉測試法」、「貪心演算法」、「隨機演算法」等。
(1)演算法的理解有幾個方面擴展閱讀
演算法中的「分治法」
「分治法」是把一個復雜的問題拆分成兩個較為簡單的子問題,進而兩個子問題又可以分別拆分成另外兩個更簡單的子問題,以此類推。問題不斷被層層拆解。然後,子問題的解被逐層整合,構成了原問題的解。
高德納曾用過一個郵局分發信件的例子對「分治法」進行了解釋:信件根據不同城市區域被分進不同的袋子里;每個郵遞員負責投遞一個區域的信件,對應每棟樓,將自己負責的信件分裝進更小的袋子;每個大樓管理員再將小袋子里的信件分發給對應的公寓。
B. 對演算法概念的理解
演算法(Algorithm)是指解題方案的准確而完整的描述,是盯爛一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。
C. 演算法是指解決問題的
演算法是解決問題的清晰指令和策略機制。
演算法以及空間模型等概念的一門學科,透過抽象化和邏輯推理的使用,尤其是計算量度和對物體形狀及運動的觀察中產生,數學家們做講這些概念,為了工以及從合適選定的公理及定義中建立起嚴謹推導出的真理。
演算法的特徵
(1)確定性:演算法的每一步必須是確切定義的,且無二意性,演算法只有唯一的一條執行路徑,對於相同的輸入只能得出相同的輸出。
(2)有容性:一個演算法必須在執行有窮次運算後結束,在所規定的時間和空間內,若不能獲得正確結果,其演算法也是不能被採用的。
(3)可行性:演算法中的每一個步驟都必須能用實現演算法的工具可執行指令精確表達,並在有限步驟內完成,否則這種演算法也是不會被採納的。
(4)演算法一定要根據輸入的初始數據或給定的初值才能正確執行它的每一步驟。
D. 計算機演算法的一般含義
演算法是一系列解決問題的清晰指令,也就是說,能夠對一定規范的輸入,在含磨有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。
演算法可以理解為有基本運算及規定的運算順序所構成的完整的解題步驟。或者看成按照要求設計好的有限的確切的計算序列,並且這樣的步驟和序列可以解決一類問題。
一個演算法應談閉斗該具有以下五個重要的特徵:
1、有窮性: 一個演算法必須保證執行有限步之後結束;
2、確切性: 演算法的每一步驟必須有確切的定義態蘆;
3、輸入:一個演算法有0個或多個輸入,以刻畫運算對象的初始情況;
4、輸出:一個演算法有一個或多個輸出,以反映對輸入數據加工後的結果。
5、可行性: 演算法原則上能夠精確地運行,而且人們用筆和紙做有限次運算後即可完成。
E. 演算法分析的兩個主要方面是什麼
演算法分析的兩個主要方面是時間復雜度和空間復雜度。
時間復雜度通常是衡量演算法的優劣的,衡量演算法的時間嚴格來講是很難衡量的,由於不同的機器性能不用環境都會造成不同的執行時間空間復雜度是對一個演算法在運行過程中臨時佔用存儲空間大小的度量,也是使用大O表示法。
演算法分析解釋
是對一個演算法需要多少計算時間和存儲空間作定量的分析演算法是解題的步驟,可以把演算法定義成解一確定類問題的任意一種特殊的方法在計算機科學中,演算法要用計算機演算法語言描述,演算法代表用計算機解一類問題的精確、有效的方法。
演算法是一組有窮的規則,它們規定了解決某一特定類型問題的一系列運算,是對解題方案內的准確與完整地描述制定一個演算法,一般要經過設計確認分析編碼、測試、調試、計時等階段演算法數據結構程序解一個給定的可計算或可解的問題。
不同的人可以編寫出不同的程序來解決同一個問題,這里存在兩個問題一是與計算方法密切相關的演算法問題二是程序設計的技術問題演算法和程序之間存在密切的關系分析演算法可以預測這一演算法適合在什麼樣的環境中有效地運行對解決同一問題的不同演算法的有效性作出比較。
F. 演算法是什麼
演算法(Algorithm)是一系列解決問題的清晰指令,也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。
一個演算法應該具有以下五個重要的特徵:
1、有窮性:
一個演算法必須保證執行有限步之後結束;
2、確切性:
演算法的每一步驟必須有確切的定義;
3、輸入:一個演算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指演算法本身定除了初始條件;
4、輸出:一個演算法有一個或多個輸出,以反映對輸入數據加工後的結果。沒有輸出的演算法是毫無意義的;
5、可行性:
演算法原則上能夠精確地運行,而且人們用筆和紙做有限次運算後即可完成。
一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。
時間復雜度
演算法的時間復雜度是指演算法需要消耗的時間資源。一般來說,計算機演算法是問題規模n
的函數f(n),演算法的時間復雜度也因此記做
T(n)=Ο(f(n))
因此,問題的規模n
越大,演算法執行的時間的增長率與f(n)
的增長率正相關,稱作漸進時間復雜度(Asymptotic
Time
Complexity)。
空間復雜度
演算法的空間復雜度是指演算法需要消耗的空間資源。其計算和表示方法與時間復雜度類似,一般都用復雜度的漸近性來表示。同時間復雜度相比,空間復雜度的分析要簡單得多。
G. 演算法有五個方面的重要特徵,包括輸入,確定性,輸出,能行性還有
演算法有五個方面的重要特徵包括有窮性、確切性、輸入項、輸出項、可行性。
1、有窮性(Finiteness)
演算法的有窮性是指演算法必須能在執行有限個步驟之後終止;
2、確切性(Definiteness)
演算法的每一步驟必須有確切的定義;
3、輸入項(Input)
一個演算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指演算法本身定出了初始條件;
4、輸出項(Output)
一個演算法有一個或多個輸出,以反映對輸入數據加工後的結果。沒有輸出的演算法是毫無意義的;
5、可行性(Effectiveness)
演算法中執行的任何計算步驟都是可以被分解為基本的可執行的操作步驟,即每個計算步驟都可以在有限時間內完成(也稱之為有效性)。
(7)演算法的理解有幾個方面擴展閱讀
1、迪傑斯特拉演算法(又譯戴克斯特拉演算法)
這種圖搜索演算法具有多種應用方式,能夠將需要解決的問題建模為圖,並在其中找到兩個節點間的最短路徑。
2、RSA 演算法
該演算法由 RSA 公司的創始人們開發而成,使得密碼學成果得以供世界上的每個人隨意使用,甚至最終塑造了當今密碼學技術的實現方式。
3、安全哈希演算法
這實際上並不是真正的演算法,而是由 NIST(美國國家標准技術研究所)所開發的一系列加密散列函數。然而,該演算法家族對於世界秩序的維持起到了至關重要的作用。
4、比例微積分演算法
該演算法旨在利用控制迴路反饋機制以最大程度控制期望輸出信號與實際輸出信號間的誤差。其適用於一切存在信號處理需求的場景,包括以自動化方式通過電子技術控制的機械、液壓或者熱力系統。
5、數據壓縮演算法
很難確定哪種壓縮演算法的重要性最高,因為根據實際應用需求,大家使用的演算法可能包括 zip、mp3 乃至 JPEG 以及 MPEG-2 等等。