演算法 時間複雜度 空間複雜度

2021-10-19 08:46:07 字數 1284 閱讀 5688

(1)

if(i ===1)

(2) a =

1| result =3+

4| result = n*

2| result =

1000

*1000(3

) array.

push

('a'

) array.

pop()(

4) map.

set(1,

1) map.

get(1,

1)

在計算複雜度的時候,o(1)一般會被忽略。

(1)

for(

let i =

0; i < n : i++)(

2)while

(n)

(

1) 巢狀迴圈

for(

var i =

0; i)}

n^3 + n^2 + n 時間複雜度(o(n^3))

2n 時間複雜度(o(n))

leecode01:

給定乙個整數陣列 nums 和乙個整數目標值 target,請你在該陣列中找出 和為目標值 的那 兩個 整數,並返回它們的陣列下標。

你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。你可以按任意順序返回答案。

// 第一種解法

vartwosum

=function

(nums, target)}}

}

分析: 上述**中,因為巢狀了兩層迴圈,所以時間複雜度為(o(n^2));

// 第二種解法

vartwosum

=function

(nums, target)

else

}}

分析:上述**中,因為只使用了一層 for 迴圈,所以時間複雜度為(o(n));

log n (二分搜尋)

n log n (排序)

(1)

const a =1(

2) int a =

1

與時間複雜度不同,有很多題的空間複雜度為o(1);

(1) 定義乙個長度為n的陣列

(2) 定義乙個長度為n的set,map

(3) 用for迴圈生成乙個長度為n的鍊錶

(1) 二維陣列

(2) 一維陣列存放set,map 結構

演算法時間複雜度空間複雜度

演算法 是解決某一類問題的通法,即一系列清晰無歧義的計算指令。每個演算法只能解決具有特定特徵的一類問題,但乙個問題可由多個演算法解決。乙個演算法應該有以下五個方面的特性 比較演算法的優劣我們從兩個維度去進行考量 時間 空間 時間複雜度,空間複雜度 找出基本語句 演算法中執行次數最多的那條語句就是基本...

演算法複雜度 時間複雜度和空間複雜度

1 時間複雜度 1 時間頻度 乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測試才能知道。但我們不可能也沒有必要對每個演算法都上機測試,只需知道哪個演算法花費的時間多,哪個演算法花費的時間少就可以了。並且乙個演算法花費的時間與演算法中語句的執行次數成正比例,哪個演算法中語句執行次數...

演算法複雜度 時間複雜度和空間複雜度

演算法複雜度 時間複雜度和空間複雜度 關鍵字 演算法複雜度 時間複雜度 空間複雜度 1 時間複雜度 1 時間頻度 乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測試才能知道。但我們不可能也沒有必要對每個演算法都上機測試,只需知道哪個演算法花費的時 間多,哪個演算法花費的時間少就可以...