:執行演算法所需要的時間
空間複雜度
:執行演算法所需要的記憶體空間
常見時間複雜度 例如:常數階o(1)、線性階o(n)、平方階o(n^2)、立方階o(n^3)、對數階o(log2n)、nlog2n階o(nlog2n)、指數階o(n^n)
效率從大到小:o(1) > o(log2n) > o(n) > o(nlog2n) > o(n^2) > o(n^3) > o(2^n) > o(n!) > o(n^n)
時間複雜度計算方式:得出演算法的計算次數(空間複雜度與之類似)
用1來取代說有確定次數的加法
用1來取代說有確定次數的加法
氣泡排序
最壞情況 平均情況
時間複雜度 o(n^2) o(n^2)
空間複雜度 o(1)
直接插入排序
最壞情況 平均情況
時間複雜度 o(n^2) o(n^2)
空間複雜度 o(1)
希爾排序
最壞情況 平均情況
時間複雜度 o(n^2) o(nlog2n)
空間複雜度 o(1)
選擇排序
最壞情況 平均情況
時間複雜度 o(n^2) o(n^2)
空間複雜度 o(1)
快速排序
最壞情況 平均情況
時間複雜度 o(n^2) o(nlog2n)
空間複雜度 o(n) o(log2n)
歸併排序
最壞情況 平均情況
時間複雜度 o(nlog2n) o(nlog2n)
空間複雜度 o(n)
堆排序 最壞情況 平均情況
時間複雜度 o(nlog2n) o(nlog2n)
空間複雜度 o(1)
二分查詢 最壞情況 平均情況
時間複雜度 o(log2n) o(log2n)
空間複雜度 迭代o(1) 遞迴o(log2n)
順序查詢 最壞情況 平均情況
時間複雜度 o(n) o(n)
空間複雜度 o(1)
演算法複雜度 時間複雜度和空間複雜度
1 時間複雜度 1 時間頻度 乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測試才能知道。但我們不可能也沒有必要對每個演算法都上機測試,只需知道哪個演算法花費的時間多,哪個演算法花費的時間少就可以了。並且乙個演算法花費的時間與演算法中語句的執行次數成正比例,哪個演算法中語句執行次數...
演算法複雜度 時間複雜度和空間複雜度
演算法複雜度 時間複雜度和空間複雜度 關鍵字 演算法複雜度 時間複雜度 空間複雜度 1 時間複雜度 1 時間頻度 乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測試才能知道。但我們不可能也沒有必要對每個演算法都上機測試,只需知道哪個演算法花費的時 間多,哪個演算法花費的時間少就可以...
演算法複雜度 時間複雜度和空間複雜度
演算法的時間複雜度是指執行演算法所需要的計算工作量。n稱為問題的規模,當n不斷變化時,時間頻度t n 也會不斷變化。但有時我們想知道它變化時呈現什麼規律。為此,我們引入時間複雜度概念。一般情況下,演算法中基本操作重複執行的次數是問題規模n的某個函式,用t n 表示,若有某個輔助函式f n 存在乙個正...