演算法即能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。乙個演算法的優劣可以用空間複雜度與時間複雜度來衡量。
1、 演算法的五個特徵:
(1)有窮性
執行程式的執行時間是有限的,能夠結束。
(2)確定性
要有明確的定義,不模稜兩可。
(3)可行性
能有效地執行,並得到確定的結果。
(4)輸入
演算法執行時必要的資料,有些情況下,資料已經包含在演算法中,演算法執行時不需要任何資料,所以乙個演算法可以有零個或多個輸入。
(5)輸出
資料通過演算法處理後的結果,演算法必須要有乙個或多個輸出,沒有輸出的演算法是毫無意義的。
2、 演算法的設計的要求
(1)正確性
沒有語法錯誤,對合法的資料輸入能夠產生滿足要求的輸出。
(2)可讀性
演算法要便於閱讀、理解和交流
(3)健壯性
對不規範的輸出的應對和處理能力。
(4)效率高和儲存量低
執行時間快;占用的空間少。
3、演算法的分析
(1)時間複雜度
度量執行時間的長短。演算法的時間複雜度是乙個函式,它定性描述該演算法的執行時間。時間複雜度常用大o符號表述,不包括這個函式的低階項和首項係數。
(2)空間複雜度
度量執行臨時占用儲存空間大小。記做s(n)=o(f(n))。
演算法基本概念
所謂演算法,就是解決問題的一種方法或乙個過程。具體來講,演算法是由若干指令組成的有窮序列。演算法概念並不是計算機學科獨有的概念,生活到到處可見演算法的應用。演算法要滿足4條性質 1.輸入 2.輸出 3.確定性 4.有限性 複雜性 時間複雜度 t 演算法所求解問題規模n的 函式 漸進時間複雜度 o 當...
演算法基本概念
一什麼是演算法 解決問題的策略機制,重要的是思想 求滿足a b c 1000,a 2 b 2 c 2 條件的所有a,b,c 思路 列舉法,以下被注釋掉的語句就是列舉每個滿足條件的a,b,c 但是這段語句的演算法複雜度太大 改進 a,b的值就確定了c的值,故 改進演算法如下 import time s...
演算法基本概念
演算法 algorithm 評價演算法優劣的依據 複雜度 時間複雜度和空間複雜度 時間複雜度 time complexity eg.某兩個演算法的時間頻度是t n 100000n2 10n 6100000n 2 10n 6 100000 n2 1 0n 6 t n n2 t n n 2 t n n ...