Skip to content

l81893521/basic-data-structure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 

Repository files navigation

basic-data-structure

动态数组(ArrayList, Vector)

  1. 二次封装我们的数组
  2. 向数组中添加元素
  3. 查询和修改元素
  4. 搜索和删除元素
  5. 使用泛型
  6. 动态数组
  7. 预防复杂度震荡

栈(Stack)

  1. 栈的基本接口定义
  2. 使用动态数组实现栈
  3. 使用链表实现栈

队列(ArrayDeque, ArrayBlockingQueue)

  1. 队列的基本接口定义
  2. 使用数组实现队列
  3. 循环队列
  4. 使用链表实现队列

链表(LinkedList)

  1. 链表的基本结构
  2. 往链表添加元素
  3. 为链表添加虚拟头节点
  4. 链表的遍历,查询和修改
  5. 链表的删除

二分搜索树

  1. 二分搜索树基础
  2. 往二分搜索树添加元素
  3. 优化添加方法
  4. 二分搜索树查询操作
  5. 二分搜索树的前序遍历
  6. 二分搜索树的前序遍历和后序遍历
  7. 二分搜索树的层序遍历
  8. 删除最大元素和最小元素
  9. 删除任意元素

集合(Set)

  1. 集合的基本接口定义
  2. 使用二分搜索树实现集合
  3. 使用链表实现集合
  4. 使用AVL树实现集合

映射(Map)

  1. 映射的基本接口定义
  2. 使用链表实现Map
  3. 使用二分搜索树实现Map
  4. 使用AVL树实现Map

优先队列和堆(PriorityQueue)

  1. 堆的基本定义
  2. 往堆中添加元素和siftUp
  3. 从堆中取出元素和siftDown
  4. Heapify和Replace
  5. 基于堆的优先队列

线段树

  1. 线段树的基础
  2. 创建线段树
  3. 线段树的区间查询
  4. 线段树的更新操作

字典树(又名前缀树)(Trie)

  1. Trie字典树的基础
  2. Trie字典树的查询
  3. Trie字典树的前缀查询

并查集(Union Find)

  1. 并查集的基本定义
  2. QuickFind
  3. QuickUnion
  4. 基于size的优化
  5. 基于rank的优化
  6. 路径压缩
  7. 路径压缩2

AVL树

  1. 计算节点高度和平衡因子
  2. 检查二分搜索树性质和平衡性
  3. 左旋转和右旋转的实现
  4. LR和RL
  5. 从AVL树中删除元素

About

数组, 栈, 队列, 树, 链表, 集合, 映射等等

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages