簡體   English   中英

常數時間,線性時間復雜度

[英]constant time,linear time complexity

為什么第一個代碼時間復雜度是 O(1) 而第二個代碼是 O(n):

//first code:
int i = 0;
while(i < 11)
{
   i=i+1;
}

//second code:
int i =0;
while(i < n)
{
   i = i+1;
}

在第二個代碼中,n 是大小。

為什么在第一個代碼中時間復雜度是 O(1)

因為它執行恆定數量的操作。

第二個代碼是 O(n)

因為它執行的操作數量相對於 n 線性增加。

在第一個代碼中,while 循環將一直運行直到 i 達到 11,因此時間復雜度為 O(1)。

在第二個代碼中,while 循環將運行取決於 n 的值,因此如果您為 n 提供 11,它將運行直到 i 達到 11,但是如果您提供 111,它將運行直到 i 達到 111,因此它使代碼時間復雜度為 O(N) 倍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM