演算法是程序嘛
㈠ 演算法就是程序
不是的。
演算法是程序編寫的方法。 而不是程序本身。
簡單的說,演算法是理論, 而程序是實踐。
通過演算法 可以實現出程序。而給定一個程序也可以反推出演算法。
㈡ 演算法和程序有什麼區別
一、演算法和程序的區別是:
1、在語言描述上不同:程序必須是用規定的程序設計語言來寫,而演算法很隨意。
2、在執行時間上不同:演算法所描述的步驟一定是有限的,而程序可以無限地執行下去。
3、兩者定義不同:演算法是對特定問題求解步驟的描述,它是有限序列指令。程序是實現預期目的而進行操作的一系列語句和指令。
(2)演算法是程序嘛擴展閱讀:
一、程序的運行
使計算機程序得以運行,計算機需要載入代碼,同時也要載入數據。從計算機的底層來說,這是由高級語言(例如Java,C/C++,C#等)代碼轉譯成機器語言而被CPU所理解,進行載入。
如果您在一個符合大多數的計算機上,操作系統例如Windows、Linux等,載入並執行很多的程序,在這種情況下,每一個程序是一個單獨的映射,並不是計算機上的所有可執行程序。
為了得到某種結果而可以由計算機等具有信息處理能力的裝置執行的代碼化指令序列,或者可以被自動轉換成代碼化指令序列的符號化指令序列或者符號化語句序列。同一計算機程序的源程序和目標程序為同一作品。
二、演算法:包括遞推法、遞歸法、窮舉法、貪心演算法、分治法、動態規劃法、迭代法、分支界限法、回溯法等。
大致分為基本演算法、數據結構的演算法、數論與代數演算法、計算幾何的演算法、圖論的演算法、動態規劃以及數值分析、加密演算法、排序演算法、檢索演算法、隨機化演算法、並行演算法,厄米變形模型,隨機森林演算法。
參考資料來源:網路-程序
參考資料來源:網路-演算法
㈢ 演算法與程序的區別與聯系
演算法和程序的區別是:
(1) 兩者定義不同。演算法是對特定問題求解步驟的描述,它是有限序列指令。而程序是實現預期目的而進行操作的一系列語句和指令。
說通俗一些演算法是解決一個問題的思路,程序,是解決這些問題所具體好寫的代碼。演算法沒有語言界限。他只是一個思路。為實現相同的一個演算法,用不同語言編寫的程序會不一樣。
(2)兩者的書寫規定不同。程序必須用規定的程序設計語言來寫,而演算法很隨意。演算法是一系列解決問題的清晰指令,也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。演算法常常含有重復的步驟和一些邏輯判斷。
簡單演算法舉例 例:求 1*2*3*4*5
步驟 1 :先求 1*2 ,得到結果 2 。
步驟 2 :將步驟 1 得到的乘積 2 再乘以 3 ,得到結果 6 。
步驟 3 :將步驟 2 得到的乘積 6 再乘以 4 ,得到結果 24 。
步驟 4 :將步驟 3 得到的乘積 24 再乘以 5 ,得到最後結果 120 。
演算法與程序的聯系 :
演算法和程序都是指令的有限序列 ,但是程序是演算法,而演算法不一定是 程序。程序 = 數據結構 + 演算法。演算法的主要目的在於為人們提供閱讀了解所執行的工作流程與步驟。數據結構與演算法要通過程序的實現,才能由計算機系統來執行。可以這樣理解,數據結構和演算法形成了可執行的程序。
(3)演算法是程序嘛擴展閱讀
演算法的要素:
一、數據對象的運算和操作:計算機可以執行的基本操作是以指令的形式描述的。一個計算機系統能執行的所有指令的集合,成為該計算機系統的指令系統。一個計算機的基本運算和操作有如下四類:
1、算術運算:加減乘除等運算。
2、邏輯運算:或、且、非等運算。
3、關系運算:大於、小於、等於、不等於等運算。
4、數據傳輸:輸入、輸出、賦值等運算。
二、演算法的控制結構:一個演算法的功能結構不僅取決於所選用的操作,而且還與各操作之間的執行順序有關。
㈣ 演算法與程序有什麼區別
- 01
演算法是為一個問題或一類問題給出的解決方法與具體步驟,是對問題求解過程的一種准確而完整的邏輯描述。程序則是為了用計算機解題或控制某一過程而編排的一系列指令的集合。程序不等於演算法。但是,通過程序設計可以在計算機上實現演算法。
你可能解答過一個有趣的問題——“人、狼、羊過河”問題。有個人帶著三隻狼、三隻羊,要過河去。有一條小船。船上除了運載一個人外,至多再載狼或羊中的任意兩只。但難點是:當人不在場時,如果狼的數量大於等於羊的數量,那麼羊會被狼吃掉。為了安全過河,你有什麼辦法呢?
解決它的演算法有多個,其中一個解決方案是這樣的:
開始,運一隻狼過河,空船回來;
接著,運一隻狼和一隻羊再過河,到對岸後,再運兩只狼回來;
然後,運兩只羊過河,空船回來;
最後,分兩次將狼全部運過河;
由此,過河問題就得以解決了。
可見,演算法是為一個問題或一類問題給出的解決方法與具體步驟,是對問題求解過程的一種准確而完整的邏輯描述。它由有限步驟的操作序列組成,代表著用系統的方法描述解決問題的策略機制。
演算法是一組嚴謹定義運算順序的規則,每一個規則都是有效的、明確的,此順序必須在有限的次數下終止。在上面的過河問題中,如果第一步中改為:“運一隻狼過河,再運這只狼回來”,那麼,說明人沒找到好辦法,在反復進行無用操作。此類演算法,是失敗的,永遠也實現不了既定目標。
演算法描述,一般可以使用漢、英等自然語言,比較通俗易懂。也可以使用流程圖、偽代碼表格等其他工具。
在古代,演算法通常用於數值計算。中國古代的籌算口訣、珠算口訣及其執行規則就是演算法的雛形。它所解決的是數值計算問題。現代演算法,已超出數值計算范圍。
程序則是為了用計算機解題或控制某一過程而編排的一系列指令的集合。這些指令,可以是計算機的機器指令,也可以是匯編語言和高級程序設計語言。
程序不等於演算法。但是,通過程序設計可以在計算機上實現演算法。在實際應用中,也許只需一條(組)程序設計語句,就可以完成演算法的基本要素處理,包括數據對象的運算和操作,以及順序、選擇、循環結構的控制。通過程序模塊設計,可以實現演算法中的遞推、遞歸、迭代等一系列基本演算法,也包括形式演繹、數據結構、數論圖論、加密解密、科學決策等復雜演算法。
因此,運用計算機解決問題的過程,通常可以分成三個階段:分析問題、設計演算法和編製程序實現演算法。由於計算機運算速度快,存儲數據量大,大大提高了演算法實現效率。
㈤ 演算法就是程序這句話對么
只能說,演算法是程序的框架。
演算法就是問題的處理方法的描述。
㈥ 程序是一種演算法嗎
演算法(algorithm)是一系列解決問題的清晰指令,也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。
演算法可以理解為有基本運算及規定的運算順序所構成的完整的解題步驟。或者看成按照要求設計好的有限的確切的計算序列,並且這樣的步驟和序列可以解決一類問題。
一個演算法應該具有以下五個重要的特徵:
1、有窮性:
一個演算法必須保證執行有限步之後結束;
2、確切性:
演算法的每一步驟必須有確切的定義;
3、輸入:一個演算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指演算法本身定除了初始條件;
4、輸出:一個演算法有一個或多個輸出,以反映對輸入數據加工後的結果。沒有輸出的演算法是毫無意義的;
5、可行性:
演算法原則上能夠精確地運行,而且人們用筆和紙做有限次運算後即可完成。
「程序
=
演算法
+
數據結構」
.程序是計算機的一組指令,經過編譯和執行才能最終完成程序設計的動作。程序設計的最終結果是軟體。