什麼是電腦演算法?它的用途、組成部分和特徵
我們解釋什麼是電腦演算法、它的用途以及它的組成部分和特徵。
演算法是解決問題的一組指令。
什麼是演算法?
在計算中,演算法被稱為允許控制某些過程的特定指令或操作的序列。這些是有限且有序的步驟集,引導我們解決問題或做出決定。
例如,一個簡單的日常動作(例如打開房間的燈)可以被描述為一組有序的步驟,例如:
1. 燈滅了嗎?
否:結束
是:轉到步驟 22. 按下開關並返回步驟 1。
如今,由於數位自動化,演算法的存在已眾所周知。極其複雜和專業的演算法控制社交網路和網路搜尋引擎以及其他軟體的運行,為用戶提供個人化的體驗。
然而,它們也用於數學和邏輯等學科,通常等同於流程圖。
字源:儘管與計算有這種聯繫,但「演算法」一詞並不新鮮:它來自拉丁語algoritmus,又來自波斯數學家 Al-Juarismi 的姓氏。數學中最古老的演算法之一歸功於希臘哲學家歐幾里德(Euclid,約公元前325 年- 約公元前265 年),其作用是透過一系列順序步驟並明確定義來獲得兩個正整數的最大公約數。
另請參閱:變數
演算法有什麼用?
演算法用於以受控方式做出決策或逐步解決問題。演算法在數學和邏輯中的應用是從這個意義上說的: 許多傳統的計算過程都包含應用演算法。
此外,演算法也用於指導手冊和其他出版物中,旨在引導讀者朝特定方向發展。
然而,在電腦科學中,演算法構成了隨後由電腦進行編碼和編程的過程的骨架。因此,相同的演算法可以在程式設計本身之前翻譯成不同的程式語言,因為它是一組邏輯指令。
事實上,電腦程式可以被視為使用程式語言排序和編碼的一系列複雜演算法,以便隨後在電腦系統中執行。
演算法特點
這些演算法具有以下一般特徵:
它們是連續的。它們按順序運作:必須一次處理一個,從第一個指令開始,線性地移向最後一個指令。
它們是精確和具體的。組成它們的說明不能含糊或主觀,而是直接、易於遵循並且盡可能不籠統。
他們是被命令的。它們必須按照特定的順序閱讀才能有意義。錯誤放置演算法或演算法的一個元素可能會使其他演算法或演算法失效。
它們是有限的。它們有一定的開始和結束。
它們被定義了。如果由相同的元素提供相同的演算法,則它必須始終給出相同的結果。
演算法的組成部分
每個演算法都由三個部分組成:輸入、過程和輸出。
演算法有固定的結構,由以下三個部分組成:
輸入包含初始指令,其中輸入演算法需要操作的資料。
流程或說明。它由演算法將從輸入接收到的內容進行的邏輯運算組成。
輸出還是輸出。它們是演算法執行完成後處理後所獲得的結果。
演算法類型
在計算中,演算法的類型根據不同的標準來區分。
依工藝要求:
計算算法。它們是那些可以使用計算器或計算機來解決的問題。
非計算算法。它們是那些不依賴計算並且不需要計算機處理來解決的問題。
根據所涉及的序列:
定性演算法。它們的分辨率不涉及數值計算,而是涉及邏輯和/或形式序列。
定量演算法。它們是依靠數學計算來找到解決方案的。
根據您的目的:
搜尋演算法。它們允許特定特徵的元素位於資料集中。
排序演算法。它們允許根據特定標準組織一組資料。
預測演算法。它們允許對問題進行未來的邏輯預測,即搜尋可能的輸入選項。
機率算法。它們允許在已建立的數據集中獲得隨機結果。
優化演算法。他們尋求使給定流程更加高效,並且為了實現這一目標,他們尋找資料集元素的替代方案。