基礎概念#

在深入學習資料結構與演算法之前,我們需要先建立正確的學習動機與分析能力。本章涵蓋兩個核心主題:

  1. 為什麼要學習演算法:釐清學習動機,理解不同角色的學習必要性
  2. 複雜度分析:掌握演算法分析的核心工具——時間與空間複雜度

複雜度分析是整個演算法學習的精髓,掌握了它,資料結構和演算法的內容基本上就掌握了一半。

本章要點#

  • 建立「時間複雜度」與「空間複雜度」的意識
  • 理解大 O 表示法的本質——表示增長趨勢,而非實際執行時間
  • 掌握最好、最壞、平均、均攤四種複雜度分析方法