1、演算法
演算法是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作
2、演算法具有五個基本特性
1.輸入:演算法具有零個或多個輸入
2.輸出:至少有乙個或多個輸出
3.有窮性:指演算法在執行有限的步驟之後,自動結束而不會出現無線迴圈,並且每乙個步驟在可接受的時間內完成
4.確定性:演算法的每一步驟都具有確定的含義,不會出現二義性。
5.可行性:演算法的每一步都必須是可行的,也就是說,每一步都能通過執行有限次數完成
3、演算法設計的要求
1.正確性:演算法的正確性是指演算法至少應該具有輸入、輸出和加工處理無歧義性、能正確反映問題的需求、能夠得到問題的正確答案
2.可讀性:演算法設計的另一目的是為了便於閱讀、理解和交流
3.健壯性:當輸入資料不合法時,演算法也能做出相關處理,而不是產生異常或莫名其妙的結果
4.時間效率高和儲存量低
4、演算法的度量方法:事後統計方法、事前分析估算方法
5、函式的漸近增長:給定兩個函式f(n)和g(n),如果存在乙個整數n,使得對於所有的n > n,f(n)總是比g(n)大,那麼,我們說f(n)的增長漸近快於g(n).
6、演算法時間複雜度:在進行演算法分析時,語句總的執行次數t(n)是關於問題規模n的函式,進而分析t(n)隨n的變化情況並確定t(n)的數量級。演算法的時間複雜度,也就是演算法的時間量度,記作:t(n)=o(f(n))。它表示隨問題規模n的增大,演算法執行時間的增長率和f(n)的增長率相同,稱作演算法的漸近時間複雜度,簡稱為時間複雜度。其中f(n)是問題規模n的某個函式。大寫o()來體現演算法時間複雜度的記法,我們稱為大o記法。
7、推導大o階方法
1.用常數1取代執行時間中的所有的加法常數
2.在修改後的執行次數函式中,只保留最高端項
3.如果最高端項存在且不是1,則去除與這個項相乘的常數。
得到的結果就是大o階。
演算法相關概念解釋
演算法 演算法是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作。演算法的特性 有窮性,確定性,可行性,輸入,輸出。演算法的設計要求 正確性,可讀性,健壯性,高效率和低儲存。演算法的度量方法 事後統計法 不科學,不準確 事前分析估計法。輸入輸出 演算法有零個...
進化演算法相關概念
進化演算法是為了克服傳統優化方法的缺點而設計的一類演算法。為了解決目標函式的導數不存在或無法求得,但又要求函式的全域性最優解的問題。進化演算法是模擬生物進化或遺傳原理而設計的一類隨機搜尋的優化演算法,屬於不確定優化方法。進化演算法是以達爾文的演化論為基礎,模仿自然界 優勝劣汰 適者生存 的優化過程對...
演算法設計 回溯法相關概念
適用於解一些組合數相當大的問題 策略 深度優先策略其含義為 所有可能解組成的空間 問題的解向量 乙個n元式 x1,x2,x3 xn 的形式 顯約束 對分量xi的取值進行限定,可以控制解空間的大小 隱約束 為滿足問題的解而對不同分量之間施加的約束 對能否得到問題的可行解或最優解做出的約束 若不滿足隱約...