本系列將以 C++ 為主要開發語言,結合演算法理論、STL、以及兩大經典題庫 CSES Problem Set 與 LeetCode 進行實戰演練。
內容安排由淺入深:
第一週:STL、排序、雜湊、前綴和等基礎演算法
第二週:雙指標、貪心、搜尋、BFS/DFS
第三週:動態規劃 (DP) 系列專題
第四週:圖論進階、字串演算法與綜合實戰
每天將透過理論解析 → C++ 實作 → 題目演練的方式,幫助讀者一步步掌握演算法核心思維,並透過實戰提升解題能力。
系列目標 許多人包括我,都會有程式學習到一個段落後就不知道要從哪個方向繼續學習的問題,若是程式學習過程中有觀念不理解、實作不熟,就容易導致後面的內容全部都學不好...
一、學習目標 深入掌握 C++ STL sort() 的使用方法、時間複雜度與自訂比較技巧。 學會使用 lambda 表達式排序複合資料結構。 透過四道實戰題...
一、學習目標 了解 set、unordered_set 的差異與使用情境。 學會如何利用這兩種容器高效處理「去重」、「查找」、「區間維護」。 二、STL S...
一、今日目標 演算法的核心是效率。同一個問題,或許有 10 種方法,但只有時間複雜度最優的才適合大規模資料。然而,暴力法(Brute Force)並不總是壞事,...
一、學習目標 在演算法題目中,很多時候會遇到計算某個區間的總和,例如: 求第L到第R個數字的總和。 計算滿足條件的子陣列數量。 判斷是否有子陣列和可被整除。...
一、學習目標 理解二分搜尋法的核心概念與適用場景 熟悉 C++ STL 中 lower_bound、upper_bound 的使用 透過 CSES 與 Lee...
一、學習目標 掌握雙指針(Two Pointers)技巧的兩大變形: 對撞型雙指針(Two-end) 滑動視窗型雙指針(Sliding Window)...
一、學習目標 了解什麼是「局部最優導向全局最優」的貪心思想,以及何時可用、何時不可用。 學會兩個最常見的貪心套路:區間排程(按結束時間排序)、短工優先以最小化...
一、學習目標 理解「在答案範圍上做二分」的核心:把原問題改寫成「給定一個候選值 x,判定是否可行」的單調性判定。 熟悉兩大題型: 最小化最大值(找第一個可行...
一、學習目標 理解分治(Divide & Conquer模板與遞迴不變量。 掌握 QuickSort(原地、平均快)與 MergeSort(穩定、最壞...