想學算法卻總被數據結構搞到頭暈腦脹?好多初學者喺自學過程入面,最痛嘅係搵唔到清晰嘅中文解說同實例。nonstriater 嘅 Learn-Algorithms GitHub 倉庫就係專為呢類痛點而生,提供系統化嘅算法學習筆記,從基礎數據結構入手,逐步帶你掌握核心概念。呢個開源項目面向自學程式設計師、面試準備生同大專生,透過詳細筆記同代碼範例,解決理論同實踐脫節嘅問題,讓你喺唔使翻英文文件嘅情況下快速上手。
鏈表操作由淺入深,掌握動態數據結構
鏈表係算法入門嘅必殺技,但好多教材只講理論忽略實作。呢個倉庫嘅鏈表部分特別用心,從單向鏈表嘅基本插入刪除開始,逐步講解雙向鏈表同循環鏈表嘅實現。舉例嚟講,你會見到完整嘅 Python 代碼範例,展示點樣喺 O(1) 時間複雜度下反轉鏈表。呢種一步步拆解嘅方式,特別適合香港大專生準備 coding interview,避開咗常見嘅空指標錯誤陷阱。

數組技巧解鎖高效存取同排序算法
數組作為最基本嘅數據結構,往往係面試常客,但點樣優化二分搜尋同滑動窗口就考功夫。倉庫入面嘅數組筆記直接用實際問題帶入,例如解釋點樣用雙指標技巧喺 O(n) 時間搵出最長無重複子串。呢啲範例唔止有代碼,仲附上時間空間複雜度分析,讓你明白背後邏輯。相比市面啲泛泛而談嘅教程,呢度嘅做法更貼近 LeetCode 真題,幫你喺短時間內 build 起自信。
特別一提,數組部分仲涵蓋咗常見嘅排序演算法如快速排序同合併排序嘅步驟圖解。打開倉庫之後,你可以即時 clone 代碼嚟本地測試,邊學邊改,呢個互動性喺純文字教材入面比較少見。
隊列同哈希表結合,提升問題解決速度
隊列喺 BFS 同任務調度有大用,但初學者常混淆佢同棧嘅分別。呢個項目用簡單嘅環形隊列實現,配上圖文解說,快速澄清概念。跟住嚟嘅哈希表部分就更實戰,從 Python dict 嘅內部機制講起,到 LRU Cache 嘅設計模式,一氣呵成。呢種由淺入深嘅結構,讓你喺處理重複元素或頻率計數問題時,手到拿來。
哈希表筆記嘅亮點係碰撞解決策略嘅比較,例如鏈地址法同開放定址法嘅優缺點,直接對應到面試高頻題。呢啲內容唔單止理論完整,仲鼓勵 fork 倉庫嚟貢獻自己嘅解法,變成一個開放學習社區。
字符串算法同樹結構,為進階挑戰鋪路
字符串算法係文字處理嘅核心,倉庫涵蓋 KMP 同 Rabin-Karp 等模式匹配技巧,附上動態規劃嘅 longest common subsequence 範例。呢啲筆記特別注重邊界條件處理,例如空字符串或 Unicode 支援,避免咗新手常犯嘅 bug。樹結構部分就從二叉樹遍歷開始,延伸到 AVL 平衡樹同 Trie 字典樹,代碼範例支援多語言切換。
整體嚟講,Learn-Algorithms 嘅導航菜單設計簡潔,你可以輕鬆跳到感興趣嘅資料夾,最新 commit 記錄仲顯示咗持續更新。無論係溫習基礎定衝刺進階,呢個倉庫都係免費嘅算法自學利器,值得加到你嘅書籤。
產品名稱:Learn-Algorithms (算法學習筆記)
官方網站:https://github.com/nonstriater/Learn-Algorithms

