数据结构与算法(93讲)
从零掌握八大核心数据结构与经典算法(C语言版)
课程介绍
这门课用C语言带你从零系统学习数据结构,共8章93讲,覆盖线性表、栈、队列、串、树、图、查找、排序八大核心内容。飞云老师坚持板书教学,先讲原理、再讲设计、最后讲实现,每个结构都配合实例逐步演示,并配有C语言算法代码合集。学完你能独立分析复杂度、手写核心结构与经典算法,从容应对期末考试、考研、算法竞赛和技术面试,也适合转行学习者系统补基础。
学完你将能够
- 系统掌握八大核心数据结构的原理与实现
- 根据问题特点选择最合适的数据结构
- 手写十种排序与多种查找算法代码
- 实现图的遍历、最小生成树与最短路径
- 分析算法的时间复杂度与空间复杂度
- 为考研、竞赛与技术面试打下坚实基础
课程大纲
第1章 绪论 5 个要点
- 数据结构的基本概念与术语
- 顺序存储与链式存储结构
- 数据类型与抽象数据类型
- 算法的定义、特性与描述方法
- 时间复杂度与空间复杂度分析
第2章 线性表 5 个要点
- 顺序表的插入、删除与查找
- 单链表的查找、插入与删除
- 头插法尾插法与双向链表
- 顺序表与链表的优缺点对比
- 链表实现一元多项式加法
第3章 栈与队列 5 个要点
- 栈的后进先出特性与基本操作
- 顺序栈与链栈的实现
- 汉诺塔与递归中的栈应用
- 循环队列与链队列
- 素数环、停车场管理等队列应用
第4章 串与数组 5 个要点
- 串的定义、存储与基本操作
- 朴素模式匹配与KMP算法
- 数组的顺序存储与地址计算
- 对称矩阵与三角矩阵压缩
- 稀疏矩阵三元组与十字链表
第5章 树与二叉树 6 个要点
- 二叉树的定义与五条重要性质
- 顺序存储与二叉链表存储
- 先序中序后序与层序遍历
- 由遍历序列构造二叉树
- 哈夫曼树的构造与哈夫曼编码
- 树、森林与二叉树的转换
第6章 图 6 个要点
- 图的基本术语与连通性概念
- 邻接矩阵与邻接表存储
- 广度优先与深度优先遍历
- 普里姆与克鲁斯卡尔最小生成树
- 迪杰斯特拉与弗洛伊德最短路径
- 拓扑排序与AOV网
第7章 排序 5 个要点
- 排序的稳定性与内部排序分类
- 直接插入排序与希尔排序
- 冒泡、快速与简单选择排序
- 堆排序与二路归并排序
- 基数排序及七种排序全面对比
第8章 查找 6 个要点
- 平均查找长度与查找评价标准
- 顺序查找、二分查找与分块查找
- 二叉排序树的查找、插入与删除
- 平衡二叉树的四种旋转
- B树、B+树与红黑树
- 哈希表构造、冲突处理与性能分析