C 语言数据结构与算法
C 只给你数组、结构体和指针,别的什么都没有,所以这条路径上的每种数据结构都要你亲手搭建:用数组实现栈,用 malloc 实现链表,用节点组成的桶实现哈希表。这就是经典的大学课程,只不过改成了动手实践,之后还有排序、递归、图和自动评分的面试题。免费,在浏览器中学习,大多数课程都有证书。
377 节课284 个挑战702 道测验题
- 适合初学者
AI 辅助编程帮助
动手实践的互动课程
每节课都有语音讲解
检验所学的测验
终点有一张路径证书,沿途还有 23 张
C 语言数据结构,一步一步来
每一步都是 Coddy 上现有的一组课程,每个“开始”按钮都会用 C 打开它们。暂时还不是用 C 教的三门课程列在步骤之后。
- 1
- 2
- 3
- 4
- 5
- 6
在实践中学习
编写真实代码、查询数据库、搭建网站、掌握 AI 提示词。我们的互动课程涵盖现代开发者需要的每一项技能。
打造你的连胜
坚持下去,看着自己不断进步!记录每天的编程习惯,用冻结天数保护连胜,每天打卡都能赢取奖励。
12 天连胜
明天再来,保持你的连胜!
January 2026
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
21
22
23
24
25
26
27
28
29
30
加倍或归零
第 5 天,共 7 天
连胜冻结
2 left
随时随地写代码
随时随地继续你的编程学习旅程!无需配置,无需下载:打开就能写代码。支持 iOS、Android 和 Web,评分高达 4.9 星。
你并不孤单
在全球排行榜上一较高下,邀请好友赢取奖励,为彼此的成就喝彩。和好友一起编程更有趣!
多种学习方式
阅读、收听、自我测验、问 AI,或者查阅学过的任何内容。每节课都配合你的节奏。
变量是一个有名字的容器,用来存储值,方便你在程序后面引用。
在 Python 中,创建变量只需写下名字、一个等号,再写上要存储的值。
值可以随时间变化。给这个名字重新赋值,它就会指向新的值。
获得证书
每完成一门课程都能获得证书。把证书添加到你的 LinkedIn 个人资料和简历中,向雇主展示你的编程能力。
为什么在 Coddy 用 C 语言学数据结构
- 没有任何东西被隐藏。C 的标准库里没有列表、映射或队列,没有内置功能可以依靠:每个节点都是一个
struct,每条链接都是一个指针,每次分配都是一次需要你自己释放的malloc。这样学会的数据结构,之后在任何其他语言中你都能真正理解。 - 大学课程,改成动手实践。C 语言数据结构是很多计算机专业的核心课程。这条路径覆盖同样的内容,从栈到 AVL 树,再到各种排序和图算法,全部是你边写边运行、实时评分的代码。
- 几乎整条路径都用 C。所有数据结构、排序、图算法、递归挑战和面试题包都用 C 教学。不是用 C 的有三门:动态规划和 Python 面试系列(用 Python),以及位运算(用 C++,它完整保留了 C 的位运算符),它们列在步骤之后。
- 像面试一样评分。每节课都以一个由测试用例检查的 C 语言挑战结束;没通过时,Bugsy 会读你的代码,引导你找到修复方法,而不是直接给出答案。大多数课程都有免费证书,每张都有自己的验证网址。
C 语言数据结构常见问题
为什么要用 C 语言学数据结构?
HashMap 和 Python 的 dict 不过是同样的思路,只是替你做好了内存管理,你也能判断它们的开销。用 C 语言学数据结构之前需要掌握什么?
malloc 和 free。最重要的是指针:链表就是一串 struct node *next 字段,二叉树则是每个节点有两个这样的字段。如果你对指针还不太有把握,Coddy 的 C 语言课程会先讲清楚,而且免费。C 语言怎么实现哈希表?
需要一个桶数组、一个把键转换成索引的哈希函数,以及处理两个键落进同一个桶的规则:通常是每个桶一条链表(链地址法),或者探测下一个空位(开放寻址)。当表中元素超过设定的负载因子时,就分配一个更大的数组,把所有元素重新插入。第一步中的哈希表课程会带你从零实现一个。
C 语言适合用来准备编程面试吗?
除了嵌入式和系统方向的岗位,很少有人用 C 参加面试,因为在面试中从零写一个哈希表会耗费大量时间,而其他语言直接就提供了。不过这些知识可以完全迁移,而且 C++ 只有一步之遥:同样的语法,再加上 STL。常见的做法是先用 C 学数据结构,再用 C++、Java 或 Python 刷面试题包,这条路径都提供。
这条路径上哪些课程不是用 C 教的?
&、|、^、~、<< 和 >>。数据结构应该用 C 还是 C++ 学?
用 C 理解数据结构,用 C++ 使用数据结构。在 C 中一切都要自己搭建,这也是很多大学用它来教这门课的原因;在 C++ 中,每种结构自己实现一次之后就可以直接用 STL,这也是算法竞赛选手用它的原因。先学 C 再转 C++,不会有任何损失。
完成数据结构与算法路径能获得证书吗?
能。完成每一步,你就能获得整条数据结构与算法路径的一张免费证书。证书会列出你沿途完成的每门课程,并链接到每门课程各自的证书,任何人都能核实上面列出的每项技能。你可以把它添加到 LinkedIn 个人资料。这是 Coddy 颁发的结业证书,不是经过认证的学历资格。