File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ <!-- TOC -->
2+ - [ 前言] ( #前言 )
3+ - [ 正文] ( #正文 )
4+ - [ 1. 实现代码] ( #1-实现代码 )
5+ - [ 参考] ( #参考 )
6+ <!-- /TOC -->
7+
18## 前言
29
310思路:每一趟遍历将最大元素冒泡到数组最后的位置;
Original file line number Diff line number Diff line change 1+ <!-- TOC -->
2+ - [ 前言] ( #前言 )
3+ - [ 正文] ( #正文 )
4+ - [ 1. 借助辅助空间] ( #1-借助辅助空间 )
5+ - [ 2. 原地堆排序] ( #2-原地堆排序 )
6+ - [ 参考] ( #参考 )
7+ <!-- /TOC -->
8+
19## 前言
210
311对于堆这种数据结构,详细讲解在这:
Original file line number Diff line number Diff line change 1+ <!-- TOC -->
2+ - [ 前言] ( #前言 )
3+ - [ 正文] ( #正文 )
4+ - [ 1.(自顶向下)归并排序算法] ( #1自顶向下归并排序算法 )
5+ - [ 2.(自顶向下)归并排序算法——优化] ( #2自顶向下归并排序算法优化 )
6+ - [ 3.(自低向上)归并排序算法] ( #3自低向上归并排序算法 )
7+ - [ 参考] ( #参考 )
8+ <!-- /TOC -->
9+
110## 前言
211
312归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。
Original file line number Diff line number Diff line change 1+ <!-- TOC -->
2+ - [ 前言] ( #前言 )
3+ - [ 正文] ( #正文 )
4+ - [ 1. 普通版快速排序] ( #1-普通版快速排序 )
5+ - [ 2. 快速排序算法的优化] ( #2-快速排序算法的优化 )
6+ - [ 3. 双路(两路)快排] ( #3-双路两路快排 )
7+ - [ 4. 三路快排] ( #4-三路快排 )
8+ - [ 5. 三路快排的应用] ( #5-三路快排的应用 )
9+ - [ 参考] ( #参考 )
10+ <!-- /TOC -->
11+
112## 前言
213
314快速排序又是一种分而治之思想在排序算法上的典型应用。
@@ -296,6 +307,10 @@ public class QuickSort3Ways {
296307
297308三路快排相对于两路快排的优化之处在于,当出现大量重复元素时直接进行判断加速排序过程,直接进行lt++或者是gt--,这样避免了大量重复元素是的替换过程。
298309
310+ ### 5. 三路快排的应用
311+
312+ 待续...
313+
299314## 参考
300315
301316- [ 动态图参考] ( https://www.runoob.com/w3cnote/bubble-sort.html )
Original file line number Diff line number Diff line change 1+ <!-- TOC -->
2+ - [ 前言] ( #前言 )
3+ - [ 正文] ( #正文 )
4+ - [ 1. 代码实现] ( #1-代码实现 )
5+ - [ 参考] ( #参考 )
6+ <!-- /TOC -->
7+
18## 前言
29
310思路:插入排序就跟玩扑克牌一样,先把一部分牌给排好顺序,然后依次往后排剩下的牌,最终达到将所有牌都排序的效果。
Original file line number Diff line number Diff line change 1+ <!-- TOC -->
2+ - [ 前言] ( #前言 )
3+ - [ 正文] ( #正文 )
4+ - [ 1. 代码实现] ( #1-代码实现 )
5+ - [ 参考] ( #参考 )
6+ <!-- /TOC -->
7+
18## 前言
29
310思路:依次寻找[ i, n)区间里的最小值的索引。
Original file line number Diff line number Diff line change 1+ <!-- TOC -->
2+ - [ 前言] ( #前言 )
3+ - [ 正文] ( #正文 )
4+ - [ 1. 基础准备] ( #1-基础准备 )
5+ - [ 2. 计算树高度和平衡因子] ( #2-计算树高度和平衡因子 )
6+ - [ 3. 判断是否为二叉树] ( #3-判断是否为二叉树 )
7+ - [ 4. 判断是否为平衡二叉树] ( #4-判断是否为平衡二叉树 )
8+ - [ 5. 旋转操作的基本原理] ( #5-旋转操作的基本原理 )
9+ - [ 6. 右旋] ( #6-右旋 )
10+ - [ 7. 左旋] ( #7-左旋 )
11+ - [ 8. LR和RL] ( #8-lr和rl )
12+ - [ 9. 删除节点] ( #9-删除节点 )
13+ <!-- /TOC -->
14+
115## 前言
216
317AVL树本质上还是一颗二叉树,它的特点是:
Original file line number Diff line number Diff line change 1-
1+ <!-- TOC -->
2+ - [ 前言] ( #前言 )
3+ - [ 1. 二叉堆] ( #1-二叉堆 )
4+ - [ 1.1 用数组存储二叉堆] ( #11-用数组存储二叉堆 )
5+ - [ 1.2 原地堆排序] ( #12-原地堆排序 )
6+ - [ 1.3 索引堆] ( #13-索引堆 )
7+ - [ 2. 优先队列] ( #2-优先队列 )
8+ <!-- /TOC -->
29# 前言
310
411下面先了解下二叉堆的基础知识
You can’t perform that action at this time.
0 commit comments