演算法相關概念解釋

2021-10-02 03:50:20 字數 440 閱讀 7071

演算法:演算法是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作。

演算法的特性:有窮性,確定性,可行性,輸入,輸出。

演算法的設計要求:正確性,可讀性,健壯性,高效率和低儲存。

演算法的度量方法:事後統計法(不科學,不準確),事前分析估計法。

輸入輸出:演算法有零個或多個輸入,至少有乙個或多個輸出。

有窮性:指演算法在執行有限的步驟之後,自動結束而不會出現無限迴圈,並且每乙個步驟在可接受的時間內完成。

確定性:演算法的每一步驟都具有確定的含義,不會出現二義性。

可行性:演算法的每一步都必須是可行的,也就是說,每一步都能通過執行有限次數完成。

正確性:演算法的正確性是指演算法至少應該具有輸入,輸出和加工處理無歧義性,能正確反應問題的需求,能夠得到問題的正確答案。

設計演算法時應盡量滿足時間效率高和儲存量低的需求。

進化演算法相關概念

進化演算法是為了克服傳統優化方法的缺點而設計的一類演算法。為了解決目標函式的導數不存在或無法求得,但又要求函式的全域性最優解的問題。進化演算法是模擬生物進化或遺傳原理而設計的一類隨機搜尋的優化演算法,屬於不確定優化方法。進化演算法是以達爾文的演化論為基礎,模仿自然界 優勝劣汰 適者生存 的優化過程對...

演算法設計 回溯法相關概念

適用於解一些組合數相當大的問題 策略 深度優先策略其含義為 所有可能解組成的空間 問題的解向量 乙個n元式 x1,x2,x3 xn 的形式 顯約束 對分量xi的取值進行限定,可以控制解空間的大小 隱約束 為滿足問題的解而對不同分量之間施加的約束 對能否得到問題的可行解或最優解做出的約束 若不滿足隱約...

Raft演算法相關工程問題以及解釋

本文長期記錄一些raft相關的問題,主要是面試被問到的。不會介紹raft的基本原理,而是一些細節和異常情況的優化。正常來說,乙個節點在掛了之後重新加入集群,是以follower的身份,需要等待一定時間才能開始選舉。但是為什麼不設計成掛了之後以candidate的身份,一加入就開始選舉投票呢?從正確性...