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 判斷互質,擴展版求出係數,係數就是模反元素,快速冪用來算大指數。本篇只做到正確計算與複雜度,不討論如何攻擊實際系統。

阅读文章 →