# basic-algorithm
## 基础排序
1. [选择排序](https://github.com/l81893521/basic-algorithm/blob/master/src/main/java/will/zhang/basic/ASelectSort/SelectionSort.java)
2. [使用泛型编写算法](https://github.com/l81893521/basic-algorithm/blob/master/src/main/java/will/zhang/basic/BSelectSortUsingComparable/SelectionSort.java)
3. [测试算法性能](https://github.com/l81893521/basic-algorithm/blob/master/src/main/java/will/zhang/basic/DSelectionSortDetectPerformance/SelectionSort.java)
4. [插入排序](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/basic/EInsertionSort)
5. [插入排序改进](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/basic/FInsertionSort)
## 高级排序算法
1. [归并排序](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/advance/AMergeSort)
2. [归并排序改进](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/advance/BMergeSortAdvance)
3. [归并排序自底向上](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/advance/CMergeSortBottomUp)
4. [快速排序](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/advance/DQuickSort)
5. [随机化快速排序](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/advance/EQuickSortDealWithNearOrderedArray)
6. [双路快速排序](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/advance/FQuickSort2Ways)
7. [三路快速排序](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/advance/GQuickSort3Ways)
## 堆和堆排序
1. [堆的基本存储](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/heap/AMaxHeapClassBasic)
2. [ShiftUp](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/heap/BShiftUp)
3. [ShiftDown](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/heap/CShiftDown)
4. [基础堆排序和Heapify](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/heap/DHeapify)
5. [优化的堆排序](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/heap/EHeapSort)
6. [索引堆(IndexHeap)](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/heap/FIndexHeap)
7. [索引堆的优化](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/heap/GIndexHeapAdvance)
## 二分搜索树
1. [二分查找法(Binary Search)](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/binarySearchTree/ABinarySearch)
2. [二分搜索树基础](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/binarySearchTree/BBinarySearchTreeBasic)
3. [二分搜索树的节点插入](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/binarySearchTree/CBinarySearchTreeInsert)
4. [二分搜索树的查找](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/binarySearchTree/DBinarySearchTreeSearch)
5. [二分搜索树的遍历(深度优先遍历)](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/binarySearchTree/EBinarySearchTreeTraverse)
6. [层序遍历(广度优先遍历)](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/binarySearchTree/FBinarySearchTreeLevelTraverse)
7. [删除最大值, 最小值](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/binarySearchTree/GBinarySearchTreeRemoveMinAndMax)
8. [二分搜索树节点的删除](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/binarySearchTree/HBinarySearchTreeRemove)
9. [floor和ceil的实现](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/binarySearchTree/IBinarySearchTreeFloorCeil)
## 并查集
1. [Quick Find](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/unionFind/AQuickFind)
2. [Quick Union](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/unionFind/BQuickUnion)
3. [基于size的优化](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/unionFind/COptimizeBySize)
4. [基于rank的优化](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/unionFind/DOptimizeByRank)
5. [路径压缩(Path Compression)](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/unionFind/EPathCompression)
## 图的基础
1. [图的表示(稀疏图和稠密图), 使用邻接表和邻接矩阵](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/unionFind/EPathCompression)
2. [相邻节点迭代器](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/graphBasic/BVertexAdjacentIterator)
3. [图的算法框架](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/graphBasic/CReadGraph)
4. [深度优先遍历和联通分量](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/graphBasic/DDfsAndComponents)
5. [寻路](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/graphBasic/EFindingAPath)
6. [广度优先遍历和最短路径](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/graphBasic/FBFSAndShortestPath)
## 最小生成树
1. [有权图](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/minimumSpanTree/AWeightedGraph)
2. [Prim算法的第一个实现(Lazy Prim)](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/minimumSpanTree/BLazyPrim)
3. [Prim算法的优化](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/minimumSpanTree/COptimizedPrim)
4. [Kruskal算法](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/minimumSpanTree/DKruskalAlgorithm)
## 最短路径
1. [Dijkstra算法](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/shortestPath/ADijkstra)
2. [Bellman-Ford算法](https://github.com/l81893521/basic-algorithm/tree/master/src/main/java/will/zhang/shortestPath/BBellmanFord)
没有合适的资源?快使用搜索试试~ 我知道了~
基础排序, 高级排序, 堆, 二分搜索树, 并查集, 图以及图相关算法知识总结
共178个文件
java:162个
txt:11个
xml:1个
需积分: 2 0 下载量 34 浏览量
2024-04-12
10:25:20
上传
评论
收藏 1.23MB ZIP 举报
温馨提示
basic-algorithm 基础排序 选择排序 使用泛型编写算法 测试算法性能 插入排序 插入排序改进 高级排序算法 归并排序 归并排序改进 归并排序自底向上 快速排序 随机化快速排序 双路快速排序 三路快速排序 堆和堆排序 堆的基本存储 ShiftUp ShiftDown 基础堆排序和Heapify 优化的堆排序 索引堆(IndexHeap) 索引堆的优化 二分搜索树 二分查找法(Binary Search) 二分搜索树基础 二分搜索树的节点插入 二分搜索树的查找 二分搜索树的遍历(深度优先遍历) 层序遍历(广度优先遍历) 删除最大值, 最小值 二分搜索树节点的删除 floor和ceil的实现 并查集 Quick Find Quick Union 基于size的优化 基于rank的优化 路径压缩(Path Compression) 图的基础 图的表示(稀疏图和稠密图), 使用邻接表和邻接矩阵 相邻节点迭代器 图的算法框架 深度优先遍历和联通分量 寻路 广度优先遍历和最短路径 最小生成树 有权图 Prim算法的第一个实现(Lazy Prim) Prim算法的优化 Kruskal算法
资源推荐
资源详情
资源评论
收起资源包目录
基础排序, 高级排序, 堆, 二分搜索树, 并查集, 图以及图相关算法知识总结 (178个子文件)
.gitignore 23B
BST.java 13KB
BST.java 10KB
BST.java 8KB
BST.java 6KB
Main.java 6KB
MaxIndexHeap.java 6KB
BST.java 6KB
IndexMinHeap.java 5KB
IndexMinHeap.java 5KB
IndexMinHeap.java 5KB
MaxIndexHeap.java 5KB
QuickSort.java 5KB
QuickSort.java 5KB
BellmanFord.java 5KB
BST.java 5KB
Main.java 4KB
UnionFindTestHelper.java 4KB
Dijkstra.java 4KB
PrintableMaxHeap.java 4KB
MergeSort.java 4KB
MergeSortBU.java 4KB
UnionFindTestHelper.java 4KB
PrimMST.java 3KB
PrimMST.java 3KB
QuickSort.java 3KB
SortTestHelper.java 3KB
MaxHeap.java 3KB
SST.java 3KB
ShortestPath.java 3KB
MaxHeap.java 3KB
MinHeap.java 3KB
MinHeap.java 3KB
UnionFindTestHelper.java 3KB
MinHeap.java 3KB
MergeSort.java 3KB
KruskalMST.java 3KB
DenseWeightedGraph.java 3KB
QuickSort.java 3KB
DenseWeightedGraph.java 3KB
DenseWeightedGraph.java 3KB
DenseWeightedGraph.java 3KB
DenseWeightedGraph.java 3KB
DenseWeightedGraph.java 3KB
SparseWeightedGraph.java 3KB
SparseWeightedGraph.java 3KB
SparseWeightedGraph.java 3KB
SparseWeightedGraph.java 3KB
SparseWeightedGraph.java 3KB
SparseWeightedGraph.java 3KB
InversionCount.java 3KB
Main.java 3KB
HeapSort3.java 3KB
Path.java 2KB
SparseGraph.java 2KB
Path.java 2KB
SparseGraph.java 2KB
SparseGraph.java 2KB
SparseGraph.java 2KB
Main.java 2KB
UnionFind.java 2KB
UnionFind5.java 2KB
Selection.java 2KB
LazyPrimMST.java 2KB
LazyPrimMST.java 2KB
LazyPrimMST.java 2KB
ReadWeightedGraph.java 2KB
ReadWeightedGraph.java 2KB
ReadWeightedGraph.java 2KB
ReadWeightedGraph.java 2KB
ReadWeightedGraph.java 2KB
ReadWeightedGraph.java 2KB
DenseGraph.java 2KB
DenseGraph.java 2KB
DenseGraph.java 2KB
DenseGraph.java 2KB
FileOperations.java 2KB
ReadGraph.java 2KB
ReadGraph.java 2KB
ReadGraph.java 2KB
ReadGraph.java 2KB
UnionFind4.java 2KB
UnionFind4.java 2KB
SparseGraph.java 2KB
BST.java 2KB
DenseGraph.java 2KB
SparseGraph.java 2KB
MaxHeap.java 2KB
InsertionSort.java 2KB
UnionFindTestHelper.java 2KB
UnionFind3.java 2KB
UnionFind3.java 2KB
UnionFind3.java 2KB
Main.java 2KB
SelectionSort.java 2KB
Components.java 2KB
DenseGraph.java 2KB
BubbleSort2.java 2KB
BinarySearch2.java 1KB
Edge.java 1KB
共 178 条
- 1
- 2
资源评论
进击的代码家
- 粉丝: 2748
- 资源: 204
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于 Ant 的 Java 项目示例.zip
- 各种字符串相似度和距离算法的实现Levenshtein、Jaro-winkler、n-Gram、Q-Gram、Jaccard index、最长公共子序列编辑距离、余弦相似度…….zip
- 运用python生成的跳跃的爱心
- 包括用 Java 编写的程序 欢迎您在此做出贡献!.zip
- (源码)基于QT框架的学生管理系统.zip
- 功能齐全的 Java Socket.IO 客户端库,兼容 Socket.IO v1.0 及更高版本 .zip
- 功能性 javascript 研讨会 无需任何库(即无需下划线),只需 ES5 .zip
- 分享Java相关的东西 - Java安全漫谈笔记相关内容.zip
- 具有适合 Java 应用程序的顺序定义的 Cloud Native Buildpack.zip
- 网络建设运维资料库职业
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功