Algorithm - Complexity

Quick Chat

在尋求最優解法設計 既快又省 的資料結構與演算時,有以下兩個面向

  • 時間效率:演算法執行時間的長短。
  • 空間效率:演算法佔用記憶體空間的大小。

Guide

時間複雜度 (Time Complexity)

⚠️ 時間複雜度分析統計的不是演算法執行時間,而是演算法執行時間隨著資料量變大時的增長趨勢。

  • 有效評估演算法效率。
  • 推算方法更簡便。
  • 存在一定的侷限性(當輸入資料大小較小時)。

空間複雜度 (Space Complexity)

⚠️ 我們通常只關注最差空間複雜度。

  • 輸入空間:演算法的輸入資料。
  • 暫存空間:執行過程中的變數、物件、函式上下文等資料。
  • 輸出空間:儲存演算法的輸出資料。