[英]Time complexity of simple if else statement
我是一個新手,無法理解 if else 語句的時間復雜度。 我在網上讀到,if-else 的時間復雜度以最大值和最小值兩種形式給出。
根據我的理解,max 和 min 都是 O(1),但有些網站會以其他方式共享,我無法理解。 謝謝你。
Function copy(number)
If number == 3
console.log("number is 3");
Else
console.log("number is not 3");
if-then-else 語句
if (condition) {
sequence of statements 1
}
else {
sequence of statements 2
}
在這里,要么執行序列 1,要么執行序列 2。 因此,最壞情況下的時間是兩種可能性中最慢的:max(time(sequence 1), time(sequence 2))。 例如,如果序列 1 是 O(N) 而序列 2 是 O(1),則整個 if-then-else 語句的最壞情況時間將為 O(N)。
這意味着您要考慮其中一個序列的最壞時間復雜度,而不是if-else-語句本身。
讓我再舉一個例子
function foo(){
if (bar) {
return 'bar'; // O(1)
} else {
return someArray.map((a) => a+1); // O(n)
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.