数据结构 [Java] 目录

  • 动态数组
    • 动态数组 01 创建自己的动态数组
    • 动态数组 02 添加元素
    • 动态数组 03 获取 & 更新
    • 动态数组 04 包含 & 查找 & 删除
    • 动态数组 05 支持泛型的动态数组
    • 动态数组 06 扩容 & 缩容
    • 动态数组 07 避免复杂度震荡
    • 栈 01 基于动态数组的栈
    • 栈 02 Leetcode中的20号问题
    • 栈 03 基于链表的栈
  • 队列
    • 队列 01 基于动态数组的队列
    • 队列 02 循环队列
    • 队列 03 队列的时间复杂度比较
    • 队列 04 基于链表的队列
  • 链表
    • 链表 01 基础
    • 链表 02 添加
    • 链表 03 虚拟头节点
    • 链表 04 查询 & 更新
    • 链表 05 删除
    • 链表 06 Leetcode中的203号问题
    • 链表 07 递归基础与递归的宏观语义
    • 链表 08 Leetcode中的203号问题递归实现
  • 二分搜索树
    • 二分搜索树 01 基础
    • 二分搜索树 02 添加
    • 二分搜索树 03 更优化的添加
    • 二分搜索树 04 查询
    • 二分搜索树 05 前序遍历
    • 二分搜索树 06 中序遍历
    • 二分搜索树 07 后序遍历
    • 二分搜索树 08 非递归的前序遍历
    • 二分搜索树 09 层序遍历
    • 二分搜索树 10 删除最大 & 最小元素
    • 二分搜索树 11 删除任意元素
    • 二分搜索树 12 前序遍历 非递归 基于 Command
    • 二分搜索树 13 中序遍历 非递归 基于 Command
    • 二分搜索树 14 后序遍历 非递归 基于 Command
  • 集合
    • 集合 01 集合基础 & 基于二分搜索树的集合
    • 集合 02 基于链表的集合
    • 集合 03 集合的时间复杂度分析
    • 集合 04 Leetcode中的804号问题
    • 集合 05 Leetcode中的349号问题
  • 映射
    • 映射 01 基于链表的映射
    • 映射 02 基于二分搜索树的映射
    • 映射 03 映射的时间复杂度比较
    • 映射 04 Leetcode中的350号问题
    • 堆 01 基础
    • 堆 02 添加 & 上浮
    • 堆 03 提取 & 下沉
    • 堆 04 替换堆顶元素 & 堆化
    • 堆 05 索引堆
    • 堆 06 索引堆 优化
  • 优先队列
    • 优先队列 01 基于最大堆的优先队列
    • 优先队列 02 Leetcode中的347号问题Ⅰ
    • 优先队列 03 Leetcode中的347号问题Ⅱ
  • 线段树
    • 线段树 01 线段树基础
    • 线段树 02 构建线段树
    • 线段树 03 在线段树中查询
    • 线段树 04 Leetcode中的303号问题
    • 线段树 05 在线段树中更新单个元素
    • 线段树 06 Leetcode中的307号问题
  • 字典树
    • 字典树 01 字典树基础
    • 字典树 02 在字典树中查询
    • 字典树 03 递归的在字典树中查询
    • 字典树 04 字典树中的前缀问题
    • 字典树 04 Leetcode中的211号问题
    • 字典树 05 Leetcode中的677号问题
  • 并查集
    • 并查集 01 并查集基础
    • 并查集 02 快查
    • 并查集 03 快并
    • 并查集 04 基于子集合大小的优化
    • 并查集 05 基于子集合rank的优化
    • 并查集 06 路径压缩
    • 并查集 07 递归的路径压缩
  • AVL树
    • AVL树 01 AVL树基础
    • AVL树 02 平衡检查 & 是否满足二分搜索树的检查
    • AVL树 03 左孩子的左侧 & 右孩子的右侧
    • AVL树 04 左孩子的右侧 & 右孩子的左侧
    • AVL树 05 删除节点
    • AVL树 06 基于AVL树的映射和集合
  • 红黑树
    • 红黑树 01 红黑树和2-3树的等价性
    • 红黑树 02 添加元素子过程(一)保持根节点为黑色 & 左旋转
    • 红黑树 03 添加元素子过程(二)颜色翻转 & 右旋转
    • 红黑树 04 添加元素子过程(三)添加新的元素
    • 红黑树 05 性能测试
  • 哈希表
    • 哈希表 01 哈希表基础
    • 哈希表 02 哈希函数的设计
    • 哈希表 03 Java中的hashCode
    • 哈希表 04 哈希冲突的处理 链地址法
    • 哈希表 05 实现自己的哈希表
    • 哈希表 06 时间复杂度分析 & 动态扩容
    • 哈希表 07 扩容后M不再是素数的解决办法

你可能感兴趣的:(数据结构 [Java] 目录)