資料結構基礎篇 3 演算法時間複雜度的常用演算法

2021-07-28 04:58:24 字數 921 閱讀 5691

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.演算法效率 演算法效率可以用來衡量乙個演算法的好壞 演算法效率分析分為兩種 第一種是時間效率,第二種是空間效率.時間效率被稱為時間複雜度,空間效率被稱為空間複雜度.時間複雜度主要衡量的是乙個演算法的執行速度,而空間複雜度主要衡量乙個演算法所需要的額外空間,在計算機發展的早期,計算機的儲存容量很小...