人工精选尚硅谷程序员嵌入式技术课程合集
课程定位:嵌入式开发前的“数据结构与算法”必修课 这份资料的主题并非泛泛的计算机基础,而是明确指向 嵌入式开发场景下的数据结构与算法实战 。在嵌入式领域,内存资源有限、性能要求严苛,开发者必须对底层数据结构有深刻理解,才能写出高效、低耗的代码。课程从C语言视角出发,系统讲解栈、队列、链表、动态数组等
会员可免费下载本篇月会员可免费领取。
开通会员 ›会员 · 按档位
游客按标价购买,不享受上表折扣。
支付成功后自动发放网盘链接,链接失效可找客服免费补
课程定位:嵌入式开发前的“数据结构与算法”必修课
这份资料的主题并非泛泛的计算机基础,而是明确指向嵌入式开发场景下的数据结构与算法实战。在嵌入式领域,内存资源有限、性能要求严苛,开发者必须对底层数据结构有深刻理解,才能写出高效、低耗的代码。课程从C语言视角出发,系统讲解栈、队列、链表、动态数组等核心结构,以及排序、查找等常用算法,并配套《数据结构与算法分析:C语言描述》经典教材,形成“视频讲解+源码实现+理论读物”的完整闭环。
适合基础为掌握C语言基本语法,了解指针概念的学员。无需深入汇编或OS内核,但需具备独立编写小型程序的能力。目标读者包括:准备转行嵌入式开发的程序员、在校工科生、以及希望夯实底层功底的后端/客户端开发者。
学习路径建议:先看哪几块?资料怎么配合练习?
建议按以下顺序切入:
- Day01 主线:从“01-数据结构概述”建立整体认知,接着重点学习“02-数组的特点和动态数组实现思路”至“05-动态数组实现-添加新元素”,理解内存动态管理的核心逻辑;随后进入“07-链表概述”至“13-链表实现-修改和获取指定位置节点的数据值”,掌握链表这一嵌入式中最常用的数据结构。
- Day02 主线:优先观看“01-每日一考讲解”回顾前日内容,再依次学习“02-数据结构-栈-特点和思路分析”至“04-数据结构-栈-代码实现-进栈和出栈”,理解LIFO结构及其典型应用(如函数调用栈、表达式求值);接着学习“05-数据结构-队列-特点”至“08-队列-出队思路分析和代码实现”,掌握FIFO结构在任务调度、缓冲区中的用途。
- 算法部分:可穿插学习“09-算法评价标准-时间复杂度”和“10-算法评价标准-空间复杂度”,建立性能评估意识;排序部分重点看“13-冒泡排序”、“14-快速排序-思路分析”及“15-快速排序-代码实现”,快速排序在嵌入式中常用于小数据量排序,需熟练手写。
资料包中提供的PDF教材用于深化理论理解,建议在学完每个数据结构或算法后,对照教材对应章节阅读,尤其是C语言实现细节和边界条件处理。流程图笔记(如binary-search.drawio、bubble-sort.drawio)是极佳的复习工具,建议在动手编码前先画一遍流程,再写代码,能有效提升理解深度和实现准确率。
学完能独立做什么?
完成本课程后,你将能够:
- 独立使用C语言实现栈、队列、链表、动态数组等基本数据结构,并理解其内存布局、时间/空间复杂度及适用场景。
- 在手写快速排序、冒泡排序、二分查找等基础算法时,能清晰阐述思路、写出正确代码,并进行简单优化(如递归改迭代、减少内存分配)。
- 在嵌入式开发中,能根据实际需求(如消息队列、任务栈、环形缓冲)选择合适的结构并实现,避免因内存管理不当导致的崩溃或性能瓶颈。
- 具备阅读和调试他人实现的数据结构代码的能力,能定位常见错误(如指针未判空、内存泄漏、越界访问)。
需要注意的是,本课程聚焦于基础数据结构与算法的C语言实现,不涉及高级数据结构(如红黑树、B+树)或复杂算法(如动态规划、图论)。若目标是深入嵌入式Linux内核开发,建议在此基础上进一步学习操作系统相关课程。对于希望快速入门嵌入式C开发的学员,本套资料提供的系统训练和经典教材,足以支撑你打下坚实的地基。
课程目录
Day0216 条
- 15-排序算法-快速排序-代码实现.wmv [74.3 MB]
- 14-排序算法-快速排序-思路分析.wmv [36.2 MB]
- 16-排序算法-快速排序-代码优化.wmv [9.1 MB]
- 13-排序算法-冒泡排序.wmv [47.3 MB]
- 12-查找算法-二分查找.wmv [29.5 MB]
- 11-查找算法-顺序查找.wmv [11.7 MB]
- 09-算法评价标准-时间复杂度.wmv [48.1 MB]
- 08-数据结构-队列-出队思路分析和代码实现.wmv [34.7 MB]
- 10-算法评价标准-空间复杂度.wmv [7.8 MB]
- 06-数据结构-队列-代码实现-初始化和释放.wmv [20.8 MB]
- 07-数据结构-队列-入队思路分析和代码实现.wmv [31.3 MB]
- 05-数据结构-队列-特点和思路分析.wmv [22.0 MB]
- 03-数据结构-栈-代码实现-初始化和释放.wmv [24.8 MB]
- 02-数据结构-栈-特点和思路分析.wmv [31.8 MB]
- 04-数据结构-栈-代码实现-进栈和出栈.wmv [22.0 MB]
- 01-每日一考讲解.wmv [17.2 MB]
Day0113 条
- 12-链表实现-释放所有节点的内存空间.wmv [13.4 MB]
- 13-链表实现-修改和获取指定位置节点的数据值.wmv [21.1 MB]
- 09-链表实现-添加节点-思路分析.wmv [17.8 MB]
- 10-链表实现-添加节点-代码.wmv [63.3 MB]
- 11-链表实现-删除节点.wmv [41.0 MB]
- 08-链表实现-结构体设计和链表初始化.wmv [36.5 MB]
- 06-动态数组实现-删除元素.wmv [33.1 MB]
- 07-链表概述和实现思路.wmv [23.4 MB]
- 05-动态数组实现-添加新元素.wmv [66.8 MB]
- 04-动态数组实现-初始化、销毁和调整内存.wmv [36.1 MB]
- 03-动态数组实现-结构体设计.wmv [22.1 MB]
- 02-数组的特点和动态数组实现思路.wmv [13.2 MB]
- 01-数据结构概述.wmv [63.5 MB]
2.资料1 条
- 数据结构与算法分析:C语言描述(第2版).pdf [38.9 MB]
算法流程图分析3 条
- 02-binary-search.drawio [10.5 KB]
- 03-bubble-sort.drawio [28.5 KB]
- 04-quick-sort.drawio [20.4 KB]
数据结构流程图分析9 条
- 03-Static.drawio [4.5 KB]
- 04-Queue.drawio [16.2 KB]
- 02-linked-list.drawio [29.6 KB]
- 01-DynamicArray.drawio [7.9 KB]
- 02-linked-list.drawio [29.6 KB]
- 01-DynamicArray.drawio [7.9 KB]
- .$01-DynamicArray.drawio.bkp [7.9 KB]
- 尚硅谷嵌入式技术之数据结构与算法1.6.0.docx [9.8 MB]
- 嵌入式之数据结构和算法-课堂笔记.md [7.7 KB]
Chapter02-algorithm6 条
- 05-quick-sort2.c [3.0 KB]
- 04-quick-sort.c [3.2 KB]
- 02-binary-search.c [1.3 KB]
- 03-bubble-sort.c [2.0 KB]
- 01-sequence-search.exe [78.0 KB]
- 01-sequence-search.c [910.0 B]
Chapter01-datastruct5 条
- 04-queue.c [3.6 KB]
- 02-linked-lists.c [8.6 KB]
- 03-stack.c [3.4 KB]
- 02-linked-list.c [4.8 KB]
- 01-dynamic-array.c [5.5 KB]
.vscode6 条
- settings.json [382.0 B]
- tasks.json [835.0 B]
- launch.json [1.0 KB]
- demo.c [890.0 B]
- demo.exe [78.0 KB]
- 知识付费共建共享.url [122.0 B]
Day1319 条
- 19-vscode内置终端的编码问题.wmv [43.0 MB]
- 17-项目-修改客户-修改界面.wmv [19.7 MB]
- 18-项目-修改客户-实现修改.wmv [58.3 MB]
- 16-项目-删除客户-代码实现.wmv [49.6 MB]
- 14-项目-客户列表.wmv [19.6 MB]
- 13-项目-添加客户-获取输入的信息.wmv [32.9 MB]
- 15-项目-删除客户-思路分析.wmv [10.0 MB]
- 11-项目-主菜单.wmv [27.7 MB]
- 10-文件读写-从文件中读取内容.wmv [36.9 MB]
- 12-项目-添加客户-结构体和数组的设计.wmv [19.1 MB]
- 07-读写终端-fgets和scanf获取字符串的区别.wmv [14.2 MB]
- 08-文件读写概述.wmv [23.4 MB]
- 09-文件读写-向文件写入内容.wmv [26.5 MB]
- 05-读写终端-getchar和putchar.wmv [23.7 MB]
- 04-缓冲区换行符残留对scanf获取字符的影响.wmv [33.6 MB]
- 06-读写终端-gets和puts.wmv [30.5 MB]
- 02-总结回顾.wmv [5.3 MB]
- 03-IO概述.wmv [13.1 MB]
- 01-每日一考讲解.wmv [12.5 MB]
Day1219 条
- 18-条件编译应用案例-根据操作系统不同包含不同头文件.wmv [34.1 MB]
- 19-条件编译应用案例-解决头文件重复包含问题.wmv [26.3 MB]
- 17-条件编译所涉及预处理器总结.wmv [9.4 MB]
- 14-包含自定义头文件-相对路径.wmv [47.6 MB]
- 16-条件编译和分支结构区别.wmv [17.8 MB]
- 15-包含自定义头文件-绝对路径.wmv [17.8 MB]
- 12-宏定义.wmv [74.2 MB]
- 13-带参数的宏定义.wmv [34.2 MB]
- 11-预处理指令介绍.wmv [14.5 MB]
- 10-内存泄漏和内存溢出.wmv [7.4 MB]
- 09-动态内存分配-calloc.wmv [9.9 MB]
- 08-动态内存分配-存储数组.wmv [7.6 MB]
- 07-动态内存分配-存储结构体变量.wmv [12.6 MB]
- 05-void指针.wmv [37.4 MB]
- 06-动态内存分配操作步骤.wmv [31.2 MB]
- 03-作业讲解-综合案例-枚举结构体共同体typedef.wmv [93.6 MB]
- 04-C语言内存模型.wmv [17.1 MB]
- 02-回顾.wmv [5.6 MB]
- 01-每日一考讲解.wmv [15.0 MB]
Day1115 条
- 15-typedef类型别名-结构体共用体枚举.wmv [32.2 MB]
- 14-typedef类型别名-数组函数指针.wmv [36.2 MB]
- 12-共用体.wmv [64.2 MB]
- 11-结构体存储大小的计算规则02.wmv [63.8 MB]
- 13-typedef类型别名与宏定义类型别名的区别.wmv [35.9 MB]
- 10-结构体存储大小的计算规则01.wmv [34.7 MB]
- 08-结构体应用案例.wmv [46.9 MB]
- 09-结构体变量和结构体类型的关系.wmv [8.3 MB]
- 05-结构体基本语法.wmv [67.4 MB]
- 07-结构体指针.wmv [20.9 MB]
- 06-数组元素是结构体类型.wmv [13.7 MB]
- 04-指针和二维数组.wmv [24.3 MB]
- 02-指针总结.wmv [14.8 MB]
- 03-指向枚举变量的指针.wmv [5.9 MB]
- 01-每日一考讲解.wmv [20.5 MB]
Day1018 条
- 17-枚举类型和枚举常量的语法.wmv [78.3 MB]
- 18-定义枚举变量的三种方式.wmv [22.6 MB]
- 14-空指针.wmv [17.9 MB]
- 16-C语言数据类型总结.wmv [8.2 MB]
- 15-野指针.wmv [7.8 MB]
- 11-回调函数.wmv [40.9 MB]
- 13-多级指针.wmv [43.3 MB]
- 12-指针常量和常量指针.wmv [66.4 MB]
- 10-函数指针.wmv [32.5 MB]
- 08-函数传参-值传递和指针传递.wmv [38.8 MB]
- 09-指针函数.wmv [32.0 MB]
- 07-作业讲解05-字符大小写转换的函数.wmv [29.6 MB]
- 06-作业讲解04-字符在字符串中出现的位置的函数.wmv [19.8 MB]
- 05-作业讲解03-统计字符次数的函数.wmv [17.7 MB]
- 04-作业讲解02-计算数组平均值的函数.wmv [9.5 MB]
- 03-作业讲解01-交换两个变量的值.wmv [12.1 MB]
- 02-回顾.wmv [8.8 MB]
- 01-每日一考讲解.wmv [16.5 MB]
Day0916 条
- 15-字符指针.wmv [75.1 MB]
- 番外-流程图绘制软件介绍.wmv [24.9 MB]
- 12-指针数组.wmv [31.5 MB]
- 14-数组指针.wmv [34.4 MB]
- 13-数组名-首元素指针-数组指针对比总结.wmv [9.0 MB]
- 11-指针和数组-数组名.wmv [77.2 MB]
- 10-指针运算-指针比较大小.wmv [9.8 MB]
- 09-指针运算-同类型指针相减.wmv [15.9 MB]
- 06-指针应用案例02.wmv [12.0 MB]
- 08-指针运算-指针自增自减.wmv [27.4 MB]
- 07-指针运算-指针加减整数.wmv [23.6 MB]
- 03-变量的访问方式和内存地址.wmv [28.2 MB]
- 04-指针基础.wmv [39.6 MB]
- 05-指针应用案例01.wmv [22.2 MB]
- 01-每日一考回顾.wmv [24.6 MB]
- 02-案例讲解-猴子吃桃.wmv [18.6 MB]
Day0818 条
- 19-标准库函数-字符串相关函数02-sscanf.wmv [16.9 MB]
- 17-标准库函数-字符串相关函数01.wmv [45.7 MB]
- 16-递归函数案例-计算指定位置的斐波那契数.wmv [18.5 MB]
- 18-标准库函数-字符串相关函数02-sprintf.wmv [17.7 MB]
- 13-递归函数的概念.wmv [54.1 MB]
- 14-递归调用和内存调用堆栈的关系.wmv [21.2 MB]
- 15-递归函数案例-计算指定数字阶乘.wmv [15.2 MB]
- 11-static-静态全局变量和静态函数.wmv [29.4 MB]
- 10-extern声明外部变量.wmv [21.9 MB]
- 12-作用域和静态变量总结.wmv [4.1 MB]
- 08-静态局部变量.wmv [33.0 MB]
- 09-多文件编译.wmv [15.9 MB]
- 07-作业讲解-判断是否是闰年.wmv [6.5 MB]
- 06-作业讲解-计算数组元素和.wmv [30.6 MB]
- 05-作业讲解-质数判断.wmv [7.1 MB]
- 04-作用域练习02.wmv [9.3 MB]
- 03-作用域练习01.wmv [8.5 MB]
- 01-每日一考题目讲解.wmv [9.9 MB]
Day0714 条
- 24-作用域和内存-不同内存区域.wmv [15.1 MB]
- 25-作用域和内存-标识符声明周期.wmv [12.5 MB]
- 23-块级作用域和标识符的查找过程.wmv [32.3 MB]
- 22-全局和局部作用域有同名标识符.wmv [16.5 MB]
- 20-全局作用域.wmv [25.7 MB]
- 21-局部作用域.wmv [30.9 MB]
- 19-作用域的概念.wmv [9.4 MB]
- 17-主函数-参数.wmv [37.6 MB]
- 18-函数原型.wmv [20.3 MB]
- 16-主函数-返回值.wmv [14.9 MB]
- 14-返回值.wmv [25.7 MB]
- 15-参数.wmv [23.6 MB]
- 13-函数名的数据类型.wmv [8.3 MB]
- 12-函数的定义和调用.wmv [57.0 MB]
- … 其余 3668 项略,目录共 3868 项





