/JavaDataStructure

Java 版数据结构

Primary LanguageJavaApache License 2.0Apache-2.0

JavaDataStructure

Java 版数据结构

1.字符串(com.yq.ds.str)

相关内容浅谈:数据结构(Java版)- 串 - 掘金 (juejin.cn)

  • 暴力算法 - BruteForce
  • KMP 算法 - KMP

2.数组(com.yq.ds.array)

相关内容浅谈:数据结构(Java版) - 数组 - 掘金 (juejin.cn)

  • 数组压缩存储(上三角) - UTMArray
  • 数组压缩存储(下三角) - LTMArray

3.二叉树(com.yq.ds.tree)

相关内容浅谈:数据结构(Java版) - 二叉树 - 掘金 (juejin.cn)

  • 二叉树结点 - TreeNode
  • 创建二叉树 - ConstructTree
  • 二叉树顺序存储 - TreeSequentialStorage
  • 二叉树遍历方法:前序遍历 - Preorder
  • 二叉树遍历方法:中序遍历 - Inorder
  • 二叉树遍历方法:后序遍历 - Postorder
  • 二叉树遍历方法:Morris 遍历 - Morrisorder
  • 线索二叉树 - ThrTree
  • 树的存储结构:双亲表示法 - TreeParent
  • 树的存储结构:孩子表示法 - TreeChildren
  • 树的存储结构:孩子兄弟法 - TreeChildrenBrother
  • 森林与二叉树的转换 - ForestConverter
  • 哈夫曼树 - HuffmanTree

4.图(com.yq.ds.graph)

相关内容浅谈:数据结构(Java版) - 图 - 掘金 (juejin.cn)

  • 邻接矩阵 - AdjMatrix、ConstructAdjMatrix
  • 邻接表 - AdjacencyList
  • 深度优先遍历 - DepthFirstSearch
  • 广度优先搜索 - BreadthFirstSearch
  • 最小生成树:普利姆算法(Prim算法) - Prim、Prim2
  • 最小生成树:克鲁斯卡尔算法(Kruskal算法) - Kruskal、Kruskal2
  • 最短路径:迪杰斯特拉算法(Dijkstra算法) - Dijkstra、Dijkstra2
  • 最短路径:弗洛伊德算法(Floyd算法) - Floyd
  • 拓扑排序 - TopologicalSort
  • 关键路径 - CriticalPath

5.查找(com.yq.ds.search)

相关内容浅谈:数据结构(Java版) - 查找 - 掘金 (juejin.cn)

  • 顺序查找 - OrderSearch
  • 二分查找 - BinarySearch
  • 分块查找 - BlockSearch
  • 二叉排序树 - BinarySortTree
  • 平衡二叉树 - BalancedBinaryTree
  • B-树 - BTree
  • 散列表 - HashTable
  • 前缀树 - TrieMap

6.排序(com.yq.ds.sort)

相关内容浅谈:数据结构(Java版) - 排序 - 掘金 (juejin.cn)

  • 插入排序:直接插入排序 - InsertSort
  • 插入排序:折半插入排序 - BinaryInsertSort
  • 插入排序:希尔排序 - ShellInsertSort
  • 交换排序:冒泡排序 - BubbleSort
  • 交换排序:快速排序 - QuickSort
  • 选择排序:简单选择排序 - SelectSort
  • 选择排序:树形选择排序 - TreeSelectSort
  • 选择排序:堆排序 - HeapSort
  • 归并排序 - MergeSort
  • 计数排序 - CountingSort
  • 基数排序 - RadixSort
  • 桶排序 - BucketSort