1. 算法的特性算法
輸入(Input)函數
一個算法有0個或多個輸入,以刻畫運算對象的初始狀況,所謂0個輸入是指算法自己定出了初始條件;對象
輸出(Output)it
一個算法有一個或多個輸出,以反映對輸入數據加工後的結果。沒有輸出的算法是毫無心義的。能夠在控制檯打印輸出或者返回一個或多個值等。循環
肯定性(Definiteness)方法
算法中的每一步驟必須有確切的含義,不能產生多義性:數據
可行性(Effectiveness)時間
算法中的每一步驟必須是切實可執行的,即原則上能夠經過已經實現的基本運算執行有限次來實現(也稱之爲有效性);
有窮性(Finiteness)
算法在執行有限的步驟後自動結束,不會出現無限循環,而且每個步驟在可接受的時間內完成。意思是當一個算法執行個 三五十年才結束,人都等的掛到牆上了,這樣的算法也沒有實際意義。
2. 推導大O階方法
1)、用常數1取代運行時間中的全部加法常數
2)、在修改後的運行次數函數中,只保留最高階項
3)、若是最高階存在且不是1,則去除與這個項相乘的常數。