大O标記就不用我說了吧。O(n)這種時間複雜度的意義自己google吧。這裡簡單講下從代碼推算。
我們來看下。
第一行,聲明變量并指派用一個時間單元;
第二行,首先給i指派,一個時間單元。i<=N是N+1個時間單元。i++是N個時間單元。第二行總共2N+2個時間單元。
第三行,一個加法,一個指派,兩個乘法,一共四個時間單元。執行N次,一共4N個時間單元。
是以這段代碼一共6N+3個時間單元。時間複雜度為O(N);
一個for循環
時間複雜度O(n)
嵌套for循環
時間複雜度O(n²)
三層嵌套語句
時間複雜度為O(n³)。
if/else語句
時間複雜度,是if和else中最長的那個。
簡單的遞歸函數如
相當與一個for的循環,時間複雜的是O(n)