我想知道如何確定以僞代碼編寫的算法的運行時間,以便我可以熟悉運行時間。舉例來說,你如何知道一個算法的運行時間,它將比較兩個數組以確定它們是否不相同?確定算法的運行時間以比較兩個陣列
數組1 = [1,5,3,2,10,12]數組2 = [3,2,1,5,10,12] 因此,這兩個數組並不相同,因爲它們排序不同。
我的僞代碼是:
1)
2)設置的第二指針設置當前指針到第一數目在第一陣列第一數目在第二陣列
3),而(當前指針=「「)比較!與
移動當前指針到下一個號碼在其它陣列
4相同的位置元件)如果(當前指針==第二指針) 第二指針移動到下一個數
5)否則(輸出數組是不一樣) end loop
所以我假設第一次我的代碼是正確的。我知道第4步只執行一次,因爲它只需要1次匹配來顯示數組就不一樣了。所以第4步只需要一定的時間(1)。我知道第1步和第2步也只執行一次。
到目爲爲我知道運行時間是3 +? (?是循環本身的運行時間)
現在我迷失了循環部分。循環是否運行n次(n是數組中的數字?),因爲最壞的情況可能是每一個數字都匹配?我是否以正確的方式考慮運行時間?
如果有人可以幫忙,我會感激。
謝謝!
我編輯的問題 - 你有2分2秒,但即時通訊太累/改變推測其他的東西了 - 確保這仍然是正確的 – hvgotcodes 2011-02-06 06:03:32