“极简数据结构”将通过简单明了的视频讲解,让学习者在最短时间内学会正确使用数据结构而不纠缠过多细节,迅速进入实战体验,并为后续深入学习“算法三部曲”(《算法导论》《算法设计指南》《算法》)打下良好的基础。
旧版视频已经全部更新完,共有500多人学习,新版已转到网易云课堂重新录制并连载。
每讲视频基本都在20分钟以内,短小精悍,希望以不那么硬核的内容也能让大家体会到算法和数据结构之美。共80讲视频,目录如下(已全部更新):
- 第1章:语言基础 (已全部上传)
- C++输入输出
string
的简单使用- 数组和向量
- 对角线问题
- 数组和向量的排序
- 二分查找原理
- 数组二分查找
- 向量二分查找
- 问题
- 第2章:抽象之妙 (已全部上传)
- 抽象数据类型
- 查找问题的抽象数据类型视角
- 初识集合
- 次序统计量
- 有序向量与无序向量
- 以集合描述算法
- STL容器一览
- 第3章:性能分析 (已全部上传)
- 时空之谜
- 程序运行时间
- 量级
- 常见运行时间
- 运行时间的差异
- 抽象数据类型的性能
- 抽象数据类型选用
- 第4章:向量与链表 (已全部上传)
- 向量用法
- 容量之妙
- 自然数映射与下标
- 初识链表
- 链表操作
- 结点链接
- 单链实例
- 就地逆置
- 连续放入
- 第5章:栈与队列 (已全部上传)
- 栈与队列
- 进制转换
- 循环队列
- 基数排序
- 电话号码排序
- 括号匹配
- 迷宫问题
- DFS求解迷宫
- BFS求解迷宫
- 第6章:树/集合 (已全部上传)
- 二叉树
- 树的存储
- 二叉树遍历
- 二叉树递归构造
- 二叉查找树
- 遍历结果重构二叉树
- 集合性能分析
- 迭代器遍历时间
- 不相交集
- 第7章:散列/字典 (已全部上传)
- 初识字典
- 字典用法
- 位向量与
bool
向量 - 结链法
- 探查序列
- 开放式定址法
- 字典性能调优
- 自定义散列
- 第8章:键值映射 (已全部上传)
- 映射用法
- 双向映射
- 计数排序
- 转置
- 桶排序
- 直方图排序
- trie
- 第9章:堆/优先级队列 (已全部上传)
- 响应优先
- 上浮操作
- 下沉操作
- 堆排序
- 建堆算法
- 离散事件仿真
- Huffman编码
- 多路归并
- 第10章:排序 (已全部上传)
- 插入排序
- 两路归并
- 归并排序
- 排序下界
- 划分
- 快速排序
- 次序统计量
“极简数据结构”秉承现代数据结构教学理念,我们着眼于以抽象数据类型为纲,快速提升学习者的动手能力。为此,我们借助C++丰富而强悍的标准模板库STL,辅以简短的可执行代码展示常见数据结构的极致算法性能。为减轻学习负担,我们采用接近于Python的现代C++语法,使用一个最小化的C++语言子集,并从输入输出开始讲述,确保具备C语言知识的学习者能够无缝过渡,以最低基础入门。
我们以最传统但学习效果最好的书写形式讲解,但是配备了最潮的数字化设备:
- iPad Pro 12.9”
- Apple Pencil
- Notability
- iRig Mic HD
全手写同步录制从而打造出完全不同的视听效果。 星球里的每一讲视频都会像软件那样快速迭代,不断完善更新,并且提供完整的历史版本,最终还会演变为图书出版物。如有疑问请在微博上私信星主算法时空。
本系列课程适合采用Cornell笔记法,请配合服用: