學習程式設計、AI 與工程技術
涵蓋程式語言、網頁開發、機器學習、演算法、機器人與硬體的深入教學教材 — 完全免費,對所有人開放。
瀏覽分類
程式語言
Python、C、C++、Java、JavaScript、TypeScript、Go、R 與 Haskell 教學,從入門語法到進階技巧。
網頁開發
HTML5、React、Angular、Next.js、Vite 與現代前端開發指南與專案。
後端開發
Node.js、NestJS、Spring Boot、Python 後端、Socket、Nginx 與金流整合的伺服器端開發。
演算法與資料結構
排序、樹、雜湊、圖論演算法、KMP、LeetCode 練習與演算法分析教材。
人工智慧與機器學習
機器學習、檢索增強生成(RAG)、AI 應用與網路爬蟲教學。
資料庫
SQL 與 NoSQL 資料庫設計、查詢、最佳化與實作練習。
電腦科學基礎
計算機組織、作業系統、Linux 基礎與核心電腦科學理論。
數學與統計
機率、統計、賽局理論與機器學習背後的數學,含完整例題。
硬體與嵌入式系統
Arduino、RISC-V、MSP430、PLC、Linux 驅動程式與嵌入式系統工程。
機器人與自主系統
ROS 2、人形機器人、無人機與自動駕駛系統。
網路與 DevOps
電腦網路、TCP/IP、CI/CD 流水線與 DevOps 實務。
行動應用開發
Android 與 iOS 應用程式開發教學。
量化金融與區塊鏈
量化金融、交易系統與區塊鏈技術。
專案與實例研究
真實世界專案:金流閘道微服務、全端應用、Django 後端、RAG 系統等。
英語學習
從基礎到進階的英文文法,附解答與字彙冊。
最新文章
演算法教材地圖 — 學習順序與涵蓋範圍
本篇是索引,不是另一套演算法。它把資料夾裡的教學文件對上三份公開課綱裡會出現、而本站原先沒有獨立筆記的主題,並給出一條讀的順序。已有長篇的圖論、NP、KMP、模糊搜尋、模擬退火與蒙地卡羅不在這次重寫之列,只標出它們該在什麼時候讀。
閱讀文章 →攤還分析(Amortized Analysis)— 方法論完整教材
並查集與伸展樹各自證明了「單次可以很慢,一串操作仍然很快」。那兩篇把位能算在特定結構上。本篇把三種通用算法寫清楚:聚集法、記帳法、位能法,並用二元計數器與動態陣列當可以手算的例子。之後再回去看並查集與伸展樹,會知道它們只是位能函數不同。
閱讀文章 →B 樹與 B+ 樹(B-Tree / B+ Tree)— 完整教材
平衡 BST 教材把 B 樹列成「磁碟用的多路樹」,但沒有一次插入分裂的推演。記憶體內的紅黑樹每個節點只有一個鍵,磁碟一次讀寫卻是一整頁。B 樹讓一個節點裝滿一頁,樹高跟著頁數的對數走,而不是鍵數的對數乘上一個很大的常數。
閱讀文章 →二元搜尋(Binary Search)— 完整教材
分析教材與遞迴教材都把二元搜尋當成 (O(log n)) 的例子,但沒有處理邊界、lower_bound / upper_bound,也沒有「對答案二分」——後者在課程與實作裡比在陣列裡找一個數更常出現。本篇把迴圈不變量寫死,避免 off-by-one。
閱讀文章 →分治法與主定理(Divide and Conquer / Master Theorem)— 完整教材
分析教材用最大子段和展示了一次分治,遞迴教材列出了合併排序與快速排序,但沒有把「遞迴式怎麼解」收成可以套用的定理。本篇補上替換法的一個完整例子、遞迴樹的直覺,以及主定理的三個標準情況。
閱讀文章 →動態規劃(Dynamic Programming)— 方法論完整教材
既有教材把動態規劃嵌在個別問題裡:0/1 背包、子集和、編輯距離、漢彌爾頓路徑的狀態壓縮。本篇把「怎麼設計一題 DP」抽成可遷移的方法:狀態、轉移、順序、還原方案。讀完再回去看那些專題,會知道它們只是同一套骨架的不同填法。
閱讀文章 →貪心演算法(Greedy Algorithms)— 方法論完整教材
貪心每次做當下看起來最好的選擇,並且不再反悔。它比動態規劃快,也比動態規劃容易寫錯:很多問題「看起來能貪」其實不能。本篇用交換論證說明什麼時候貪心是對的,並把活動選擇、分數背包、霍夫曼編碼做成可手算的完整例子。
閱讀文章 →堆積與優先佇列(Binary Heap / Priority Queue)— 完整教材
本篇補上既有排序教材裡「堆積排序」只有程式、沒有資料結構本身的缺口。讀完應能獨立實作二元堆積、說明 build-heap 為什麼是線性時間,並知道 Dijkstra、Prim、Top-K 為什麼都站在優先佇列上。
閱讀文章 →數論演算法(GCD、擴展歐幾里得、模反元素、快速冪)— 完整教材
分析教材把歐幾里得演算法與快速冪當成 (O(log n)) 的例子,沒有把它們接成「模意義下的除法」。競賽與密碼學導論裡,這四個是同一條鏈:gcd 判斷互質,擴展版求出係數,係數就是模反元素,快速冪用來算大指數。本篇只做到正確計算與複雜度,不討論如何攻擊實際系統。
閱讀文章 →