1. 演算法的特性
輸入(input)
乙個演算法有0個或多個輸入,以刻畫運算物件的初始情況,所謂0個輸入是指演算法本身定出了初始條件;
輸出(output)
乙個演算法有乙個或多個輸出,以反映對輸入資料加工後的結果。沒有輸出的演算法是毫無意義的。可以在控制台列印輸出或者返回乙個或多個值等。
確定性(definiteness)
演算法中的每一步驟必須有確切的含義,不能產生多義性:
可行性(effectiveness)
演算法中的每一步驟必須是切實可執行的,即原則上可以通過已經實現的基本運算執行有限次來實現(也稱之為有效性);
有窮性(finiteness)
演算法在執行有限的步驟後自動結束,不會出現無限迴圈,並且每乙個步驟在可接受的時間內完成。意思是當乙個演算法執行個 三五十年才結束,人都等的掛到牆上了,這樣的演算法也沒有實際意義。
2. 推導大o階方法
1)、用常數1取代執行時間中的所有加法常數
2)、在修改後的執行次數函式中,只保留最高端項
3)、如果最高端存在且不是1,則去除與這個項相乘的常數。
資料結構時間複雜度計算
1 for迴圈 一次for迴圈的執行時間至多是該for迴圈內語句的執行時間乘以迭代次數。2 巢狀的for迴圈 肯定是計算最內層迴圈語句的執行次數,然後再乘以所以迴圈的迭代次數。3 整個程式 其實找到迴圈迭代次數最多,巢狀最多的進行計算就好。3 當然,我們計算的只是大概值,而且為了計算的簡便,我們一邊...
資料結構 時間複雜度計算
1.演算法的特性 輸入 input 乙個演算法有0個或多個輸入,以刻畫運算物件的初始情況,所謂0個輸入是指演算法本身定出了初始條件 輸出 output 乙個演算法有乙個或多個輸出,以反映對輸入資料加工後的結果。沒有輸出的演算法是毫無意義的。可以在控制台列印輸出或者返回乙個或多個值等。確定性 defi...
資料結構 時間複雜度 空間複雜度
1.演算法效率 演算法效率可以用來衡量乙個演算法的好壞 演算法效率分析分為兩種 第一種是時間效率,第二種是空間效率.時間效率被稱為時間複雜度,空間效率被稱為空間複雜度.時間複雜度主要衡量的是乙個演算法的執行速度,而空間複雜度主要衡量乙個演算法所需要的額外空間,在計算機發展的早期,計算機的儲存容量很小...