int
sum =0,n=100; /*執行一次*/
sum=(1+n)*n/2; /*執行一次*/
system.out.print(sum); /*執行一次*/
由於t(n)=o(f(n)),此時f(n)=3,根據之前推導大o階的方法,第一步就是把常數3改為1,沒有最高想,所以它的時間複雜度為o(1)。、
int i,n=100;
for(i=0;i
i++)
它的迴圈的時間複雜度為o(n)。
int
count=1;
while(count
count = count*2;
}
由於每次count乘以2之後,和n就更接近,意思就是說,有多少個2相乘後大於n,則會退出迴圈。
由2^x=n 得到x=log2(n),即以2為底的n,時間複雜度記為o(logn).
int i,n=100;
for(i=0;i
i++)
}
當i=0時,內迴圈執行了n次,當i=1時,執行了n-1次……當i=n-1時,執行了一次
n+(n-1)+(n-2)+…+1=n(n+1)/2
用我們推導大o階的方法,最終保留了最高項,所以它的時間複雜度為o(n^2)。
執行次數函式階12
o(1)
2n+3
o(n)
3n^2+2n+1
o(n^2)
5log2(n)+20
o(logn)
2n+3nlog2(n)+19
o(nlogn)
6n^3+2n^2+3n+4
o(n^3)
2^no(2^n)
資料結構基礎篇 2 演算法時間複雜度
演算法 是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個動作。1 輸入和輸出 演算法具有零個或多個輸入,但演算法至少有乙個或多個輸出,要明確演算法一定是有輸出的,不管是列印輸出還是返回值。2 有窮性 指演算法在執行有限的步驟之後,自動結束而不會出現無限迴圈,並...
資料結構,演算法,時間複雜度
什麼是資料結構 data structure 中文維基百科 維基百科中文版 在電腦科學中 是計算機中儲存 組織資料的方式。資料結構意味著介面或封裝 乙個資料結構可被視為兩個函式之間的介面,或者是由資料型別聯合組成的儲存內容的訪問方法封裝。不同種類的資料結構適合不同種類的應用,部分資料結構甚至是為了解...
資料結構 時間複雜度 空間複雜度
1.演算法效率 演算法效率可以用來衡量乙個演算法的好壞 演算法效率分析分為兩種 第一種是時間效率,第二種是空間效率.時間效率被稱為時間複雜度,空間效率被稱為空間複雜度.時間複雜度主要衡量的是乙個演算法的執行速度,而空間複雜度主要衡量乙個演算法所需要的額外空間,在計算機發展的早期,計算機的儲存容量很小...