算法與程序有什麼區別?
算法是爲一個問題或一類問題給出的解決方法與具體步驟,是對問題求解過程的一種準確而完整的邏輯描述。程序則是爲了用計算機解題或控制某一過程而編排的一系列指令的集合。程序不等於算法。但是,通過程序設計可以在計算機上實現算法。
你可能解答過一個有趣的問題——“人、狼、羊過河”問題。有個人帶着三隻狼、三隻羊,要過河去。有一條小船。船上除了運載一個人外,至多再載狼或羊中的任意兩隻。但難點是:當人不在場時,如果狼的數量大於等於羊的數量,那麼羊會被狼吃掉。爲了安全過河,你有什麼辦法呢?
解決它的算法有多個,其中一個解決方案是這樣的:
開始,運一隻狼過河,空船回來;
接着,運一隻狼和一隻羊再過河,到對岸後,再運兩隻狼回來;
然後,運兩隻羊過河,空船回來;
最後,分兩次將狼全部運過河;
由此,過河問題就得以解決了。
可見,算法是爲一個問題或一類問題給出的解決方法與具體步驟,是對問題求解過程的一種準確而完整的邏輯描述。它由有限步驟的操作序列組成,代表着用系統的方法描述解決問題的策略機制。
算法是一組嚴謹定義運算順序的規則,每一個規則都是有效的、明確的,此順序必須在有限的次數下終止。在上面的過河問題中,如果第一步中改爲:“運一隻狼過河,再運這隻狼回來”,那麼,說明人沒找到好辦法,在反覆進行無用操作。此類算法,是失敗的,永遠也實現不了既定目標。
算法描述,一般可以使用漢、英等自然語言,比較通俗易懂。也可以使用流程圖、僞代碼表格等其他工具。
在古代,算法通常用於數值計算。中國古代的籌算口訣、珠算口訣及其執行規則就是算法的雛形。它所解決的是數值計算問題。現代算法,已超出數值計算範圍。
程序則是爲了用計算機解題或控制某一過程而編排的一系列指令的集合。這些指令,可以是計算機的機器指令,也可以是彙編語言和高級程序設計語言。
程序不等於算法。但是,通過程序設計可以在計算機上實現算法。在實際應用中,也許只需一條(組)程序設計語句,就可以完成算法的基本要素處理,包括數據對象的運算和操作,以及順序、選擇、循環結構的控制。通過程序模塊設計,可以實現算法中的遞推、遞歸、迭代等一系列基本算法,也包括形式演繹、數據結構、數論圖論、加密解密、科學決策等複雜算法。
因此,運用計算機解決問題的過程,通常可以分成三個階段:分析問題、設計算法和編制程序實現算法。由於計算機運算速度快,存儲數據量大,大大提高了算法實現效率。
-
甜醬十大品牌排行榜
依託百度全網大數據,根據品牌評價以及銷量評選出了2019年甜醬十大品牌排行榜,前十名分別是糧全其美、利民Limin、天源醬園、六必居、嘉豪、大妃娘娘、桃園建民、好時/HERSHEY’S、李錦記/LEEKUMKEE、hame食品。如果您正在查找甜醬什麼牌子好?那麼本甜醬十大品牌榜...
-
項鍊線十大品牌排行榜
依託百度全網大數據,根據品牌評價以及銷量評選出了2019年項鍊線十大品牌排行榜,前十名分別是艾博妮飾品、gsung、萊伊晶、紹元、晶致天下、諾曼西蒙、福瑞堂、大唐滴翠、昌達、MYATOU。如果您正在查找項鍊線什麼牌子好?那麼本項鍊線十大品牌榜單可供您作爲選購參...
-
什麼叫適當運動
(01)適當運動是指運動者根據個人在運動後感覺舒服,不疲勞,不會造成過度疲勞或者氣喘。應該在做每項運動前,先做做熱身運動和體操,強化肌肉力量。(02)運動時,應該先慢慢鍛鍊好基本體力,逐漸強化肌肉力量、持久力及身體柔軟度,再進行重量訓練,參加有氧運動、跳繩、游泳等動態...
-
澳門哪裏可以購物?
越來越多人喜歡去澳門旅遊,不僅是因爲澳門是國際旅遊景點,最重要的是澳門的貨品價格相對較低,無論是種類還是服務質量,關稅減免都是非常吸引人的,在澳門購物是非常實惠的。但也有不少人還是第一次澳門,那麼澳門哪裏可以購物?給大家盤點一下。去澳門購物,推薦大家前往澳...