算法就是為了解決一個問題而提出有效執(zhí)行步驟
而一個問題的解決方案有很多,就會存在優(yōu)劣之分,那么如何判斷一個算法的優(yōu)劣?
一般來說,有兩個參考點,即時間復雜度+空間復雜度
1,什么是時間復雜度
就是算法執(zhí)行所需要的時間,一般我們可以通過算法的代碼來進行估算,一般是觀察執(zhí)行的代碼行數(shù),每行代碼的執(zhí)行次數(shù)
2,空間復雜度
就是算法在執(zhí)行過程中需要消耗的存儲空間
所以一個算法是在這兩者做一個權(quán)衡,在要求響應(yīng)速度的地方,我們通常會優(yōu)先考慮時間復雜度,而犧牲空間復雜度