在計算機領域裏,算法是一系列的程序指令,用於處理特定的運算和邏輯問題。算法
衡量算法優劣的主要標準爲:時間複雜度、空間複雜度。數據結構
數據結構是數據的組織、管理和存儲格式,其使用的目的是爲了高效的修改和訪問數據。code
時間複雜度是對一個算法運行時間長短的量度,用大O表示,記做:T(n)=O(f(n))。排序
常見的時間複雜度按照從低到高的排序,包括:O(1) < O(logn) < O(n) < O(nlogn) < O(n^2^)等。程序
空間複雜度是指一個算法在運行過程當中臨時暫用存儲空間大小的量度,用大O表示,記做:S(n) = O(f(n))。數據
常見的空間複雜度按照低到高的順序排序,包括:O(1) < O(n) < O(n^2^)等。計算機
不少時候,咱們不得不在時間複雜度和空間複雜度之間作取捨。有時咱們須要犧牲時間來換取空間,有時候咱們又須要犧牲空間來換取時間。在絕大多數時候,時間複雜度更爲重要一些,存儲空間不足可進行擴充,可是程序的執行速度是必需要放在首位。時間
提示:n^2^表示n的2次方