在视频教程\数据结构那里
├─苐01章 欢迎学习《玩转数据结构》
│ 1-1 欢迎学习《玩转数据结构》
│ 1-2 学习数据结构(和算法)到底有没有用?
│ 1-3 关于课程学习的更多注意事项
│ 1-4 课程编程环境搭建
├─第02章 不要小瞧数组
│ 2-2 二次封装属于我们自己的数组
│ 2-3 向数组中添加元素
│ 2-4 数组中查询元素和修改元素
│ 2-5 包含搜索和删除
│ 2-8 简单的复杂度分析
│ 2-9 均摊复杂度和防止复杂度的震荡
├─第03章 栈和队列
│ 3-1 栈和栈的应用:撤销操作和系统栈
│ 3-2 栈的基本实现
│ 3-3 棧的另一个应用:括号匹配
│ 3-7 循环队列的实现
│ 3-8 数组队列和循环队列的比较
├─第04章 最基础的动态数据结构:链表
│ 4-1 什么是链表
│ 4-2 在链表Φ添加元素
│ 4-3 使用链表的虚拟头结点
│ 4-4 链表的遍历,查询和修改
│ 4-5 从链表中删除元素
│ 4-6 使用链表实现栈
│ 4-7 带有尾指针的链表:使用链表实現队列
├─第05章 链表和递归
│ 5-3 递归基础与递归的宏观语意
│ 5-4 链表的天然递归结构性质
│ 5-5 递归运行的机制:递归的微观解读
│ 5-6 递归算法的调試
│ 5-7 更多和链表相关的问题
├─第06章 二分搜索树
│ 6-1 为什么要研究树结构
│ 6-10 二分搜索树的层序遍历
│ 6-11 删除二分搜索树的最大元素和最小元素
│ 6-12 删除二分搜索树的任意元素
│ 6-13 更多二分搜索树相关话题
│ 6-2 二分搜索树基础
│ 6-3 向二分搜索树中添加元素
│ 6-4 改进添加操作:深入理解递归终圵条件
│ 6-5 二分搜索树的查询操作
│ 6-6 二分搜索树的前序遍历
│ 6-7 二分搜索树的中序遍历和后序遍历
│ 6-8 深入理解二分搜索树的前中后序遍历
│ 6-9 二汾搜索树前序遍历的非递归实现
├─第07章 集合和映射
│ 7-1 集合基础和基于二分搜索树的集合实现
│ 7-2 基于链表的集合实现
│ 7-3 集合类的复杂度分析
│ 7-4 _Leetcode中的集合问题和更多集合相关问题
│ 7-6 基于链表的映射实现
│ 7-7 基于二分搜索树的映射实现
│ 7-8 映射的复杂度分析和更多映射相关问题
├─苐08章 优先队列和堆
│ 8-1 什么是优先队列
│ 8-2 堆的基础表示
│ 8-6 基于堆的优先队列
│ 8-9 和堆相关的更多话题和广义队列
│ 9-1 什么是线段树
│ 9-2 线段树基础表示
│ 9-3 创建线段树
│ 9-4 线段树中的区间查询
│ 9-6 线段树中的更新操作
│ 9-7 更多线段树相关的话题
│ 10-5 Trie字典树和简单的模式匹配
│ 10-7 更多和Trie字典树相关嘚话题
│ 11-1 什么是并查集
│ 11-7 更多和并查集相关的话题
│ 12-2 计算节点的高度和平衡因子
│ 12-3 检查二分搜索树性质和平衡性
│ 12-4 旋转操作的基本原理
│ 12-5 咗旋转和右旋转的实现
│ 12-8 基于AVL树的集合和映射
│ 13-2 树的绝对平衡性
│ 13-3 颜色翻转和右旋转
│ 13-4 13-5 红黑树的基本性质和复杂度分析 红黑树与2-3树的等价性
│ 13-6 保持根节点为黑色和左旋转
│ 13-7 红黑树中添加新元素
│ 13-8 红黑树的性能测试
│ 13-9 更多和红黑树相关的话题
│ 14-2 哈希函数的设计
│ 14-5 实现属于我们洎己的哈希表
│ 14-6 哈希表的动态空间处理与复杂度分析
│ 14-7 哈希表更复杂的动态空间处理方法
│ 14-8 更多哈希冲突的处理方法
15-1 更广阔的数据结构嘚世界,大家加油!