零基础学计算机

C 语言 → 数据结构 → 算法设计,三步搭起计算机专业的地基

想学计算机的人最常问的一句话是「我该从哪开始」。网上给答案的人很多,但大部分答案要么直接甩一本《算法导论》,要么让你先去学 Python 做几个爬虫——前者劝退,后者学完仍然不懂内存、指针和复杂度,遇到真正的专业问题依然无从下手。

计算机专业的知识结构其实是一条很清晰的链:先学会让机器按你的意图办事(编程语言),再学会如何组织数据让它办得快(数据结构),最后学会如何设计解法(算法)。这条路线就是按这条链排的三步,每门课都是我按课堂顺序录的,前后能对接上。

这条路线适合谁

  • 计算机/软件相关专业的大一新生,想在上课前把基础打牢
  • 跨专业转行,自学过一点语法但写不出完整程序的人
  • 准备考研 408、自考或专升本,需要系统补数据结构与算法的人
  • 工作几年发现基础不牢,想回头把地基重新夯一遍的在职开发者

学习顺序

1

第 1 步 · 学会让机器听话

建议 3~4 周,每周 4~5 小时

C 语言程序设计

零基础也能学会的 C 语言入门到实战系统课。

Udemy 15 讲 · 11小时20分

第一步必须是编程语言,而不是先去背概念。选 C 语言而不是 Python,是因为 C 让你看得见变量在内存里怎么放、指针指向哪里、数组为什么越界会出事——这些东西在 Python 里被藏起来了,学数据结构时就会变成黑箱。这门课从搭建免费的开发环境开始,一路讲到顺序、选择、循环三大程序结构,每个知识点都配代码演示,最后用计算器、猜数字、韩信点兵几个小项目收口。

这一步学完能做到

  • 能独立装好编译器、写出并运行第一个 C 程序
  • 搞清常量变量、数据类型与运算符,不再被类型转换坑住
  • 用分支与三种循环把重复劳动交给机器
  • 写完几个能跑的小程序,建立「我能自己写出东西」的信心
2

第 2 步 · 学会组织数据

建议 8~10 周,每周 5~6 小时

数据结构与算法(93讲)

系统讲透常用数据结构与查找、排序算法,93 讲完整版。

Udemy 93 讲 · 13小时01分

('有了语法能力,下一步是把数据「摆好」。同样是存 100 万条记录,用数组、链表还是哈希表,查询速度能差几个数量级——这就是数据结构的全部意义。这门课 8 章 93 讲,覆盖线性表、栈、队列、串、树、图、查找、排序八大核心内容,坚持板书教学:先讲原理、再讲设计、最后讲实现,每个结构都配 C 语言代码。',)

这一步学完能做到

  • 系统掌握八大核心数据结构的原理与手写实现
  • 看到一个问题,能判断该用哪种结构装数据
  • 能手写十种排序与多种查找算法,并说清复杂度
  • 搞懂图的遍历、最小生成树与最短路径
3

第 3 步 · 学会设计解法

建议 8~10 周,每周 5~6 小时

算法设计与分析(89讲)

分治法、动态规划、贪心、回溯等算法设计方法系统精读。

Udemy 89 讲 · 约11小时

('数据结构回答「数据怎么摆」,算法设计回答「解法怎么想」。这门课 10 章 89 讲,把递归与分治、动态规划、贪心、回溯、分支限界五大策略一个个讲透,再延伸到概率算法、NP 完全理论与算法优化。它不直接给答案,而是带你一步步推导状态转移方程、证明正确性、分析复杂度——目的是让你面对没见过的新问题也能自己设计解法。',)

这一步学完能做到

  • 掌握分治、动态规划、贪心、回溯、分支限界五大策略
  • 能独立推导动态规划的状态转移方程
  • 能证明贪心算法的正确性与适用条件
  • 理解 P、NP 与 NP 完全理论的关系
4

可选 · 面试前冲刺

建议 1~2 周,共 2 小时 30 分

算法与数据结构精品课

10 讲高频考点速成,求职面试前的高效复习课。

Udemy 10 讲 · 2小时30分

('如果目标是求职或应付一场考试,没必要把 89 讲从头再刷一遍。这门 10 讲的短课只打最高频的部分:查找与排序。把平均查找长度、二分查找的边界、哈希冲突的处理、六种排序的复杂度与稳定性收成一张能带进考场的网,适合当复习提纲用。',)

这一步学完能做到

  • 手写无缺陷的二分查找及其变种
  • 搞清六种排序的复杂度、稳定性与适用场景
  • 面试前用最短时间把零散知识串成体系

为什么是这个顺序,能不能跳

不能。数据结构里到处都是 C 语言的语法:结构体、指针、数组、动态内存分配。没有这一步,看链表那一章就会卡在「-> 是什么意思」这种问题上,把时间耗在语法而不是思维上。

但顺序可以压缩:如果你已经有别的语言基础(Java/Python/C++),可以先花两三天把 C 的指针和结构体过一遍,直接从数据结构开始。反过来,如果你只想尽快写点东西出来,C 语言这门课本身也能独立成课——它 15 讲 11 小时 20 分,学完就能写完整的控制台程序。

自学最容易踩的三个坑

第一个坑:只看不写。 数据结构的代码必须自己敲一遍。看老师写链表插入觉得很顺,自己写的时候指针指错一次就是段错误。每章至少手写一次核心结构。

第二个坑:背复杂度。 O(n log n) 不是背出来的,是从递归树或循环层次数出来的。课程里每个算法都推了一遍,跟着推一次比背十次有用。

第三个坑:跳过图。 图那一章最难,但它是最短路径、网络流、拓扑排序的基础,考研和面试都绕不过去。宁可慢一周,也别跳过。

常见问题

零基础多久能走完这条路线?

按课程的讲数和时长算,三门主课合计 197 讲、约 35 小时视频。按每周 5 小时、视频与练习 1:1 的比例估,大约 5~7 个月;如果每天能投入 2 小时,3 个月左右可以完成主线。

一定要用 C 语言学数据结构吗?

不是必须,但推荐。C 能让你看见内存布局,理解指针与数组的真实关系;如果你已经掌握 Java 或 C++,也可以用你熟悉的语言跟着学,只是涉及指针操作的部分要自行对应过去。

学完能做什么?

能独立写出常见的控制台程序、能手写核心数据结构与经典算法、能分析时间复杂度,并具备继续学操作系统、编译原理、数据库等专业课的基础。

这条路线上的课程都是飞云老师亲自录制、亲自讲的,可以按顺序走,也可以只挑需要的那一门。

查看全部课程 大学数学怎么排顺序 从 AI 启蒙到 MCP 实战