例子一
int i=0;
int j=1;
i++;
j++;
這個例子是復雜度是O(1),不會隨著行數的增加他就增加,而是無論多少行,沒有回圈。
例子二
for(int i=0; i<n; i++){
for(int j=i; j<n; j++){
System.out.println("執行一次");
}
}因為有2個for回圈,所以時間復雜度是O(n2)
例子三
int i=1;
while(i<n){
i = i*2;
}
因為隨著while回圈的次數增加,i逐漸接近n,從而退出回圈,所以是2的x次等于n,求出log2X 所以 時間復雜度是O(log2n),至于O(logn) 這個底數取什么,取決于乘以什么數字,此例子是2,若 i = i*3,則底數是3
例子四
for(int i=1; i<=n; i++){
for(int j=1; j<=i; j++){
for(int k=1; k<=j; k++){
System.out.println("執行一次");
}
}
}3個for回圈 所以是O(n3)
例子五
for(int i=0; i<n; i++){
System.out.println("執行一次");
}這個時間復雜度是O(n),因為回圈了n+1次,至于為什么不是n次,是因為不等于那次判斷也要加上去,而n+1約等于n次,在計算時取最好次項數,而且去掉系數,就是時間復雜度
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/268599.html
標籤:Java相關
上一篇:java 小白
下一篇:java
