1.了解数据结构和算法 1.1 二分查找 1.1.1 二分查找的实现 1.1.2 二分查找改动版 1.1.3 递归实现 1.2 线性查找 1.3 衡量算法第一因素 1.3.1 对比 1.3.2 时间复杂度 1.3.3 渐进上界 1.3.4 常见大O表示法 1.4 衡量算法第二因素 1.3.1 对比 1.5 二分查找改进 1.6 二分查找相同元素 1.6.1 返回最左侧 1.6.2 返回最右侧 1.6.3 优化 1.6.4 应用场景 1.6.4.1 查排名 1.6.4.2 条件查找元素 2. 基础数据结构-数组 2.1 概念 2.2 数组特点 2.3 数组特点(扩展) 2.3.1 数组的存储 2.3.2 空间占用 2.3.3 动态数组 2.4 二维数组 3 基础数据结构-链表 3.1 定义 3.1.1 分类 3.1.2 哨兵节点 3.2 性能 3.3 单向链表 3.3.1 普通单向链表实现 3.3.2 单向链表-带哨兵 3.4 双向链表 3.4.1 双向链表-带哨兵 3.6环形链表 3.5.1 双向环形链表 3.7 不同链表的特性 4.基础数据结构-队列 4.1 概述 4.2 链表实现 4.3 环形数组实现 4.3.1 环形数组实现1 4.3.2 环形数组实现2 4.3.3 环形数组实现3 5.基础数据结构-栈 5.1 相关概念 5.2 接口 5.3 链表实现 5.4 数组实现 6.其他队列 6.1 对比 6.2 双端队列 6.2.1 概念 6.2.2 链表实现 6.2.3 数组实现 6.3 优先级队列 6.3.1 概念 6.3.2 无序数组实现 6.3.3 有序数组实现 6.3.4 基于堆实现 6.3.4.1 堆的概念 6.3.4.2 堆的分类 6.3.4.3 堆的计算 6.3.4.4 基于大顶堆实现 6.4 阻塞队列 6.4.1 单锁实现 6.4.2 双锁实现 6.4.2.1 双锁实现1 6.4.2.2 双锁实现2 7.(数据结构)堆 7.1 相关概念 7.2 大顶堆 7.3 堆排序 8.二叉树 8.1概述 8.2 二叉树遍历 8.3 深度优先遍历 8.3.1 递归实现遍历 8.3.2 非递归实现遍历 8.3.2 非递归实现遍历2 9.二叉搜索树 9.1 概述 9.2 get方法实现 9.2.1 普通get方法 9.2.2 泛型key,value 9.3 min,max方法实现 9.4 put方法实现 9.5 前任 后继方法实现 9.6 删除方法实现 9.6.1 非递归实现 9.6.2 递归实现 9.7 范围查询 10.AVL树 10.1 获取高度 10.2更新高度 10.1 旋转 10.1.1 平衡因子 10.1.2 四种失衡情况 10.1.3 返回一个平衡后的树 10.2 新增 10.3 删除 10.4 整体代码 11. 红黑树 11.1 node内部类 11.2 判断颜色 11.3 左旋和右旋 11.4 新增或更新 11.5 删除 11.6 完整代码 10.AVL树 10.1 获取高度 10.2更新高度 10.1 旋转 10.1.1 平衡因子 10.1.2 四种失衡情况 10.1.3 返回一个平衡后的树 10.2 新增 10.3 删除 10.4 整体代码 11. 红黑树 11.1 node内部类 11.2 判断颜色 11.3 左旋和右旋 11.4 新增或更新 11.5 删除 11.6 完整代码