Big O 介紹

Big O 用來分析演算法執行時間、空間的一種方式,由Paul Bachmann, Edmund Landau提出。通常用來表示最糟的情況,反過來說也提供運行次數的保證。常見的有下列幾個:

  • O(log n):對數時間
  • O(n):線性時間 Linear time
  • O(n * log n)
  • O(n2)
  • O(n!):最慢的演算法

常數時間 O(1)

function removeLastitem(arr){
  return arr.pop()
}

// 不管傳入的陣列是多大,removeLastitem 只把最後一個元素移掉,故其演算時間為:O(1)。