大話資料結構學習筆記(二)

2021-06-21 00:13:06 字數 507 閱讀 8996

測定執行時間最可靠的方法就是計算對執行時間有消耗的基本操作的執行次數。

在評定演算法的優劣時,與最高次項相乘的常數並不重要,而與最高端項的階數有關。

演算法時間複雜度:大o記法。o(1)常數階,o(n)線性階,o(n^2)平方階。

推導大o階:1. 用常數1取代執行時間中的所有加法常數;

2. 在修改後的執行次數函式中,只保留最高端項;

3. 如果最高端項存在且不為1,則去除與這個項相乘的常數。

得到的結果就是大o階。

對於常數階:只有o(1),沒有o(3),o(12)等記法;

對於線性階:分析演算法複雜度,關鍵就是要分析迴圈結構的運**況。

迴圈的時間複雜度等於迴圈體的時間複雜度乘以該迴圈執行的次數(迴圈體的時間複雜度是乙個常數的情況下)。

常用的時間複雜度所耗費的時間從小到大依次是:o(1)

最壞情況執行時間是一種保障,在應用中,這是一種最重要的需求,通常,除非特別指定,我們提到的執行時間都是最壞情況的執行時間。

大話資料結構學習筆記(二)

演算法 algorithm 是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作。演算法五個基本特性 輸入 輸出 有窮性 確定性和可行性。1 輸入輸出 演算法具有零個或多個輸入,乙個或多個輸出。2 有窮性 指演算法在執行有限的步驟之後,自動結束而不會出現無限迴...

大話資料結構學習筆記二 演算法

演算法是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作。1 輸入輸出 演算法具有零個或者多個輸入,至少有乙個或者多個輸出。2 有窮性 指演算法在執行完有限的步驟之後,自動結束而不會出現無線玄幻,並且每個步驟都在可接受的時間內完成。3 確定性 演算法的每乙個...

《大話資料結構》 學習筆記1

第一章 資料結構緒論 經典 if you give someone a program you will frustrate them for a day if you teach tem how to program,you will frustrate them for a lifetim.如果...