S SmartDocs

學習程式設計、AI 與工程技術

涵蓋程式語言、網頁開發、機器學習、演算法、機器人與硬體的深入教學教材 — 完全免費,對所有人開放。

瀏覽分類

程式語言

Python、C、C++、Java、JavaScript、TypeScript、Go、R 與 Haskell 教學,從入門語法到進階技巧。

467 篇文章 1262 程式碼檔案 40 PDF

網頁開發

HTML5、React、Angular、Next.js、Vite 與現代前端開發指南與專案。

111 篇文章 204 程式碼檔案 4 PDF

後端開發

Node.js、NestJS、Spring Boot、Python 後端、Socket、Nginx 與金流整合的伺服器端開發。

134 篇文章 252 程式碼檔案 29 PDF

演算法與資料結構

排序、樹、雜湊、圖論演算法、KMP、LeetCode 練習與演算法分析教材。

65 篇文章 95 程式碼檔案 80 PDF

人工智慧與機器學習

機器學習、檢索增強生成(RAG)、AI 應用與網路爬蟲教學。

138 篇文章 148 程式碼檔案 25 PDF

資料庫

SQL 與 NoSQL 資料庫設計、查詢、最佳化與實作練習。

54 篇文章 26 程式碼檔案 4 PDF

電腦科學基礎

計算機組織、作業系統、Linux 基礎與核心電腦科學理論。

137 篇文章 5 程式碼檔案 122 PDF

數學與統計

機率、統計、賽局理論與機器學習背後的數學,含完整例題。

39 篇文章 2 程式碼檔案 43 PDF

硬體與嵌入式系統

Arduino、RISC-V、MSP430、PLC、Linux 驅動程式與嵌入式系統工程。

160 篇文章 128 程式碼檔案 113 PDF

機器人與自主系統

ROS 2、人形機器人、無人機與自動駕駛系統。

401 篇文章 185 程式碼檔案 6 PDF

網路與 DevOps

電腦網路、TCP/IP、CI/CD 流水線與 DevOps 實務。

88 篇文章 3 程式碼檔案 1 PDF

行動應用開發

Android 與 iOS 應用程式開發教學。

3 篇文章 40 程式碼檔案 2 PDF

量化金融與區塊鏈

量化金融、交易系統與區塊鏈技術。

2 篇文章 2 程式碼檔案

專案與實例研究

真實世界專案:金流閘道微服務、全端應用、Django 後端、RAG 系統等。

40 篇文章 310 程式碼檔案 6 PDF

英語學習

從基礎到進階的英文文法,附解答與字彙冊。

34 篇文章 1 程式碼檔案 39 PDF

最新文章

Algorithms 更新於 2026-10-24

演算法教材地圖 — 學習順序與涵蓋範圍

本篇是索引,不是另一套演算法。它把資料夾裡的教學文件對上三份公開課綱裡會出現、而本站原先沒有獨立筆記的主題,並給出一條讀的順序。已有長篇的圖論、NP、KMP、模糊搜尋、模擬退火與蒙地卡羅不在這次重寫之列,只標出它們該在什麼時候讀。

閱讀文章 →
Algorithms 更新於 2026-10-24

攤還分析(Amortized Analysis)— 方法論完整教材

並查集與伸展樹各自證明了「單次可以很慢,一串操作仍然很快」。那兩篇把位能算在特定結構上。本篇把三種通用算法寫清楚:聚集法、記帳法、位能法,並用二元計數器與動態陣列當可以手算的例子。之後再回去看並查集與伸展樹,會知道它們只是位能函數不同。

閱讀文章 →
Algorithms 更新於 2026-10-24

B 樹與 B+ 樹(B-Tree / B+ Tree)— 完整教材

平衡 BST 教材把 B 樹列成「磁碟用的多路樹」,但沒有一次插入分裂的推演。記憶體內的紅黑樹每個節點只有一個鍵,磁碟一次讀寫卻是一整頁。B 樹讓一個節點裝滿一頁,樹高跟著頁數的對數走,而不是鍵數的對數乘上一個很大的常數。

閱讀文章 →
Algorithms 更新於 2026-10-24

二元搜尋(Binary Search)— 完整教材

分析教材與遞迴教材都把二元搜尋當成 (O(log n)) 的例子,但沒有處理邊界、lower_bound / upper_bound,也沒有「對答案二分」——後者在課程與實作裡比在陣列裡找一個數更常出現。本篇把迴圈不變量寫死,避免 off-by-one。

閱讀文章 →
Algorithms 更新於 2026-10-24

分治法與主定理(Divide and Conquer / Master Theorem)— 完整教材

分析教材用最大子段和展示了一次分治,遞迴教材列出了合併排序與快速排序,但沒有把「遞迴式怎麼解」收成可以套用的定理。本篇補上替換法的一個完整例子、遞迴樹的直覺,以及主定理的三個標準情況。

閱讀文章 →
Algorithms 更新於 2026-10-24

動態規劃(Dynamic Programming)— 方法論完整教材

既有教材把動態規劃嵌在個別問題裡:0/1 背包、子集和、編輯距離、漢彌爾頓路徑的狀態壓縮。本篇把「怎麼設計一題 DP」抽成可遷移的方法:狀態、轉移、順序、還原方案。讀完再回去看那些專題,會知道它們只是同一套骨架的不同填法。

閱讀文章 →
Algorithms 更新於 2026-10-24

貪心演算法(Greedy Algorithms)— 方法論完整教材

貪心每次做當下看起來最好的選擇,並且不再反悔。它比動態規劃快,也比動態規劃容易寫錯:很多問題「看起來能貪」其實不能。本篇用交換論證說明什麼時候貪心是對的,並把活動選擇、分數背包、霍夫曼編碼做成可手算的完整例子。

閱讀文章 →
Algorithms 更新於 2026-10-24

堆積與優先佇列(Binary Heap / Priority Queue)— 完整教材

本篇補上既有排序教材裡「堆積排序」只有程式、沒有資料結構本身的缺口。讀完應能獨立實作二元堆積、說明 build-heap 為什麼是線性時間,並知道 Dijkstra、Prim、Top-K 為什麼都站在優先佇列上。

閱讀文章 →
Algorithms 更新於 2026-10-24

數論演算法(GCD、擴展歐幾里得、模反元素、快速冪)— 完整教材

分析教材把歐幾里得演算法與快速冪當成 (O(log n)) 的例子,沒有把它們接成「模意義下的除法」。競賽與密碼學導論裡,這四個是同一條鏈:gcd 判斷互質,擴展版求出係數,係數就是模反元素,快速冪用來算大指數。本篇只做到正確計算與複雜度,不討論如何攻擊實際系統。

閱讀文章 →