求 n 個數(shù)據(jù)之和需要執(zhí)行 n 次分歇。所以時間復雜度為 O(n)傀蓉。
外循環(huán)一次,內(nèi)就循環(huán) n 次职抡,那么外循環(huán) n 次葬燎,內(nèi)就循環(huán) n*n 次。所以時間復雜為 O(n2)缚甩。
申請了一個 n 大小的存儲空間谱净,所以空間復雜度為 O(n)。
最常見的空間復雜度O(1)蹄胰、O(n)岳遥、O(n2)。
常量級的時間復雜度表示方法裕寨,無論是一行代碼,還是多行,只要是常量級的就用 O(1) 表示宾袜。
O(logn) | O(nlogn)「對數(shù)階時間復雜度」捻艳,最難分析的一種時間復雜度。
i=1
while( i<=n):
i*=3
3的k次方<=n ,o(log2 n)
不管是以 2 為底庆猫、以 3 為底认轨,還是以 10 為底,可以把所有對數(shù)階的時間復雜度都記為 O(logn)月培,因為對數(shù)之間可以轉(zhuǎn)換的嘁字,參照高中課本。
1杉畜、最好情況就是數(shù)組的第一個就是我們要查找的數(shù)據(jù)纪蜒,上邊代碼之執(zhí)行一遍就可以,這種情況下的時間復雜度為最好時間復雜度此叠,為 O(1)纯续。
2、最壞的情況就是數(shù)組的最后一個才是我們要查找的數(shù)據(jù)灭袁,需要循環(huán)遍歷 n 遍數(shù)組猬错,也就對應最壞的時間復雜度為 O(n) 。