路径 A — C 主线 (深入底层系统编程)
本教程体系可当作类百科全书使用,内容完善但体量庞大。若作为教程从头通读,效率不高。
建议按照本路线中的推荐阅读顺序,结合索引文件进行选择性学习。
同时推荐与 AI 进行问答互动学习 — 在自认为掌握语法或数据结构之后,去 力扣 做题验证。
如遇到错误,不建议死磕,可用 AI 辅助纠正思路。
Phase 1: C 语言入门 (建议 2 周)
学习顺序:
完成后可先做少量简单练习巩固语法。
Phase 2: C 语言深化 (建议 3 周)
Phase 3: 数据结构 (建议 4 周,用 C 实现)
主线按 DSA 学习路线 推进:
Phase 1 — 线形结构与排序:
Phase 2 — 核心数据结构:
Phase 3 — 进阶:
选学:
C 语言底层参考 (手写实现):
遇到任何数据结构,如需查看 C 语言指针级实现,参考:
Phase 4: 算法技巧 (建议 3 周)
以下算法文件按推荐学习顺序排列:
- 顺序结构
- 分支
- 循环
- 数组
- 函数与结构体
- 排序应用
- 暴力枚举
- 二分查找
- 二分答案
- 前缀和
- 差分
- 双指针
- 滑动窗口
- 贪心
- 递推与递归
- BFS
- 动态规划
- 字符串
- 模拟与高精度
- 下标技巧
- 图论算法
- 连通性
- 概率与期望
- 优化
Phase 5: 汇编基础 (建议 2 周)
Phase 6: 系统内核 (建议 4 周)
C 标准库参考 (按需查阅)
容器类库:
功能类库:
推荐阅读物
- The C Programming Language (K&R)
- Understanding the Linux Kernel
- Linux Kernel Development (Robert Love)
- Computer Systems: A Programmer’s Perspective (CS:APP)
- Advanced Programming in the UNIX Environment (APUE)
- The Linux Programming Interface
语言官方文档
- ISO C Standard: https://www.open-std.org/jtc1/sc22/wg14/
- GNU C Library Manual: https://www.gnu.org/software/libc/manual/
- Linux Kernel Documentation: https://docs.kernel.org/
- GCC Online Documentation: https://gcc.gnu.org/onlinedocs/