Ⅰ 簡述演算法的概念及其特性,如何表示一個演算法
通俗的講,演算法是指解決問題的方法或者過程,但是嚴格的講演算法是滿足以下性質的指令序列:
1 輸入:有零個或者多個外部量作為演算法的輸入
2輸出:演算法產生至少一個量作為輸出
3確定性:組成演算法的每條指令時清晰的,無歧義的
4又窮性:演算法中的每條指令的執行次數有限,執行每條指令的時間也是郵箱的。
至於說如何表示演算法,演算法只是一種解決問題的思想與具體的計算機語言無關,深入理解思想之後我想你如果學習了一門編程語言,就算是腳本語言,你可以實現演算法的。
Ⅱ 什麼叫演算法什麼叫計算機演算法
演算法(Algorithm)是指解題方案的准確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。
演算法中的指令描述的是一個計算,當其運行時能從一個初始狀態和(可能為空的)初始輸入開始,經過一系列有限而清晰定義的狀態,最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。隨機化演算法在內的一些演算法,包含了一些隨機輸入。
特徵
一個演算法應該具有以下五個重要的特徵:
有窮性(Finiteness)演算法的有窮性是指演算法必須能在執行有限個步驟之後終止;
確切性(Definiteness)演算法的每一步驟必須有確切的定義;
輸入項(Input)一個演算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指演算法本身定出了初始條件;
輸出項(Output)一個演算法有一個或多個輸出,以反映對輸入數據加工後的結果。沒有輸出的演算法是毫無意義的;
可行性(Effectiveness)
演算法中執行的任何計算步驟都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成(也稱之為有效性)。
例1:輸入矩形的邊長,計算並輸出矩形面積
輸入矩形的邊長a和b
面積s=a*b
輸出s的值,演算法結束
例2:交換兩個變數a和b的值
輸入兩個數a和b
t=a;
a=b;
b=t;
輸出變數a和b的值,演算法結束
例3:輸入3個任意的整數,按從小到大的順序輸出這三個整數
輸入三個數a、b和c
如果a>b,就交換a、b的值
如果a>c,就交換a、c的值
如果b>c,就交換b、c的值
輸出a、b、c的值,演算法結束
例4:輸入一個正整數n,輸出1+2+3+...+n的和
1)輸入n的值
2)s=0;
3)i=1;
4)s=s+i;
5)如果i<n,則i=i+1,轉步驟4)
6)輸出s的值,演算法結束
例5:輸入兩個正整數a和b,輸出它們的最大公約數
1)輸入兩個數a和b
2)r=a%b;
3)如果r=0,轉步驟7)
4)a=b;
5)b=r;
6)轉步驟2)
7)輸出b的值,演算法結束
Ⅲ 演算法的概念
演算法(Algorithm)是解題的步驟,可以把演算法定義成解一確定類問題的任意一種特殊的方法。在計算機科學中,演算法要用計算機演算法語言描述,演算法代表用計算機解一類問題的精確、有效的方法。演算法+數據結構=程序,求解一個給定的可計算或可解的問題,不同的人可以編寫出不同的程序,來解決同一個問題,這里存在兩個問題:一是與計算方法密切相關的演算法問題;二是程序設計的技術問題。演算法和程序之間存在密切的關系。
演算法是一組有窮的規則,它們規定了解決某一特定類型問題的一系列運算,是對解題方案的准確與完整的描述。制定一個演算法,一般要經過設計、確認、分析、編碼、測試、調試、計時等階段。
對演算法的學習包括五個方面的內容:① 設計演算法。演算法設計工作是不可能完全自動化的,應學習了解已經被實踐證明是有用的一些基本的演算法設計方法,這些基本的設計方法不僅適用於計算機科學,而且適用於電氣工程、運籌學等領域;② 表示演算法。描述演算法的方法有多種形式,例如自然語言和演算法語言,各自有適用的環境和特點;③確認演算法。演算法確認的目的是使人們確信這一演算法能夠正確無誤地工作,即該演算法具有可計算性。正確的演算法用計算機演算法語言描述,構成計算機程序,計算機程序在計算機上運行,得到演算法運算的結果;④ 分析演算法。演算法分析是對一個演算法需要多少計算時間和存儲空間作定量的分析。分析演算法可以預測這一演算法適合在什麼樣的環境中有效地運行,對解決同一問題的不同演算法的有效性作出比較;⑤ 驗證演算法。用計算機語言描述的演算法是否可計算、有效合理,須對程序進行測試,測試程序的工作由調試和作時空分布圖組成。
Ⅳ 在計算機中,演算法是指什麼
演算法(Algorithm)是對問題求解方法的精確描述
,也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用
空間復雜度
與
時間復雜度
來衡量。
演算法可以理解為有基本運算及規定的運算順序所構成的完整的解題步驟。或者看成按照要求設計好的有限的確切的計算序列,並且這樣的步驟和序列可以解決一類問題。
一個演算法應該具有以下五個重要的特徵:
1、
有窮性
:
一個演算法必須保證執行有限步之後結束;
2、
明確性
:
演算法的每一步驟必須意義明確;
3、
輸入
:一個演算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指演算法本身定除了初始條件;
4、
輸出
:一個演算法有一個或多個輸出,以反映對輸入數據加工後的結果。沒有輸出的演算法是毫無意義的;
5、
可執行性
:
所採用的演算法必須能夠在計算機上執行。
計算機科學家尼克勞斯-沃思曾著過一本著名的書《數據結構十演算法=
程序》,可見演算法在計算機科學界與計算機應用界的地位。
Ⅳ 簡述演算法的定義和特徵以及它在c語言編程中如何使用的
一、什麼是演算法
演算法是一系列解決問題的清晰指令,也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。演算法常常含有重復的步驟和一些比較或邏輯判斷。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。
演算法的時間復雜度是指演算法需要消耗的時間資源。一般來說,計算機演算法是問題規模n 的函數f(n),演算法執行的時間的增長率與f(n) 的增長率正相關,稱作漸進時間復雜度(Asymptotic Time Complexity)。時間復雜度用「O(數量級)」來表示,稱為「階」。常見的時間復雜度有: O(1)常數階;O(log2n)對數階;O(n)線性階;O(n2)平方階。
演算法的空間復雜度是指演算法需要消耗的空間資源。其計算和表示方法與時間復雜度類似,一般都用復雜度的漸近性來表示。同時間復雜度相比,空間復雜度的分析要簡單得多。
二、演算法設計的方法
1.遞推法
遞推法是利用問題本身所具有的一種遞推關系求問題解的一種方法。設要求問題規模為N的解,當N=1時,解或為已知,或能非常方便地得到解。能採用遞推法構造演算法的問題有重要的遞推性質,即當得到問題規模為i-1的解後,由問題的遞推性質,能從已求得的規模為1,2,…,i-1的一系列解,構造出問題規模為I的解。這樣,程序可從i=0或i=1出發,重復地,由已知至i-1規模的解,通過遞推,獲得規模為i的解,直至得到規模為N的解。
Ⅵ 計算機演算法的一般含義
所謂演算法就是面對某些實際問題,把人想像的自然想法用計算機術語來表示出來
Ⅶ 計算機中演算法的基本概念有哪些
計算機演算法是以一步接一步的方式來詳細描述計算機如何將輸入轉化為所要求的輸出的過程,或者說,演算法是對計算機上執行的計算過程的具體描述。一個演算法必須具備以下性質:
(1)演算法首先必須是正確的,即對於任意的一組輸入,包括合理的輸入與不合理的輸入,總能得到預期的輸出。如果一個演算法只是對合理的輸入才能得到預期的輸出,而在異常情況下卻無法預料輸出的結果,那麼它就不是正確的。
(2)演算法必須是由一系列具體步驟組成的,並且每一步都能夠被計算機所理解和執行,而不是抽象和模糊的概念。
(3)每個步驟都有確定的執行順序,即上一步在哪裡,下一步是什麼,都必須明確,無二義性。
(4)無論演算法有多麼復雜,都必須在有限步之後結束並終止運行,即演算法的步驟必須是有限的。在任何情況下,演算法都不能陷入無限循環中。
一個問題的解決方案可以有多種表達方式,但只有滿足以上4個條件的解才能稱之為演算法。
Ⅷ 計算機演算法是什麼意思講什麼東西的
計算機上有很多應用軟體,軟體都是編程人員編的,編程的時候需要程序預言。一句半句說不清楚,舉個例子說吧,你想計算三個人的體重,方法有很多。可以先計算出三個人的體重,可以先找出體重最大的,再找次的,最後最輕的。也可以先把1和2比較,大的先拿出來,例如是2,再2和3比較,如果3比他大,那麼剩下的就不用比了,因為3一定比1大。這兩種方法都可以找出最大的和最小的,都是演算法。里邊還有更深奧的演算法,就要要求你具備相當高的數學邏輯才能寫出更快的程序。
Ⅸ 什麼是演算法演算法的概念演算法的特點都有哪些
1、演算法概念:
在數學上,現代意義上的「演算法」通常是指可以用計算機來解決的某一類問題是程序或步驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內完成.
2. 演算法的特點:
(1)有限性:一個演算法的步驟序列是有限的,必須在有限操作之後停止,不能是無限的.
(2)確定性:演算法中的每一步應該是確定的並且能有效地執行且得到確定的結果,而不應當是模稜兩可.
(3)順序性與正確性:演算法從初始步驟開始,分為若干明確的步驟,每一個步驟只能有一個確定的後繼步驟,前一步是後一步的前提,只有執行完前一步才能進行下一步,並且每一步都准確無誤,才能完成問題.
(4)不唯一性:求解某一個問題的解法不一定是唯一的,對於一個問題可以有不同的演算法.
(5)普遍性:很多具體的問題,都可以設計合理的演算法去解決,如心算、計算器計算都要經過有限、事先設計好的步驟加以解決.
Ⅹ 計算機演算法是什麼
計算機演算法是以一步接一步的方式來詳細描述計算機如何將輸入轉化為所要求的輸出的過程,或者說,演算法是對計算機上執行的計算過程的具體描述。