網站首頁 教育 學前教育 精緻生活 飲食養生 命理 科普教育 金融 歷史 影視 數碼 熱門資訊
當前位置:生活百科站 > 歷史 > 

演算法是什麼

欄目: 歷史 / 釋出於: / 人氣:1.37W

解題方案的準確而完整的描述。

演算法(Algorithm)是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量。

演算法中的指令描述的是一個計算,當其執行時能從一個初始狀態和(可能為空的)初始輸入開始,經過一系列有限而清晰定義的狀態,最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。隨機化演算法在內的一些演算法,包含了一些隨機輸入。

在計算機程式設計的過程中,提到“演算法”總是讓人覺得很深奧,很難理解到底什麼是演算法?以及演算法在程式設計過程中起到了什麼作用?其實在現實生活中我們經常會用“演算法”的思想在解決一些問題,最常見的就是根據菜譜做菜。

菜譜記錄了做出各色各樣美味菜品的方法步驟。比如製作紅燒肉的菜譜,會把製作紅燒肉所必需的材料及用量都標註清楚,並且把烹製的過程、每一步需要的時間等都詳細記錄下來。任何人只要完全按照菜譜的方法和步驟去做,就一定能烹製出美味的紅燒肉。而“演算法”就是能讓程式設計師編寫出可靠、高效的計算機程式的“菜譜”。

演算法是什麼

遞推是序列計算機中的一種常用演算法。它是按照一定的規律來計算序列中的每個項,通常是通過計算機前面的一些項來得出序列中的指定項的值。其思想是把一個複雜的龐大的計算過程轉化為簡單過程的多次重複,該演算法利用了計算機速度快和不知疲倦的機器特點。

程式呼叫自身的程式設計技巧稱為遞迴(recursion)。一個過程或函式在其定義或說明中有直接或間接呼叫自身的一種方法,它通常把一個大型複雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解,遞迴策略只需少量的程式就可描述出解題過程所需要的多次重複計算,大大地減少了程式的程式碼量。遞迴的能力在於用有限的語句來定義物件的無限集合。一般來說,遞迴需要有邊界條件、遞迴前進段和遞迴返回段。當邊界條件不滿足時,遞迴前進;當邊界條件滿足時,遞迴返回。

Tags:演算法