漸近分析

由於我們有許多不同的演算法可供選擇,當我們想要對陣列進行排序時,我們需要知道哪一個會完成它的工作。所以我們需要一些測量演算法速度和可靠性的方法。這就是漸近分析的用武之地。漸近分析是隨著輸入大小(n)的增長而描述演算法效率的過程。在電腦科學中,漸近線通常以稱為 Big O Notation 的通用格式表示。

  • 線性時間 O(n) :當為了使函式達到目標而必須對陣列中的每個項進行求值時,這意味著隨著元素數量的增加,函式變得不那麼有效。這樣的函式據說以線性時間執行,因為它的速度取決於其輸入大小。
  • 多項式時間 O(n2) :如果函式的複雜度指數增長(意味著對於函式的陣列複雜度的 n 個元素是 n 平方),該函式在多項式時間內運算。這些通常是巢狀迴圈的函式。兩個巢狀迴圈導致 O(n2) 複雜度,三個巢狀迴圈導致 O(n3) 複雜性,依此類推……
  • 對數時間 O(log n): 當輸入(n)的大小增加時,對數時間函式的複雜性最小化。這些是每個程式設計師努力的功能型別。