Skip to content

Commit 12a76a5

Browse files
committed
[U] 为所有md文章添加段落目录,方便浏览;
1 parent 0e1b861 commit 12a76a5

8 files changed

Lines changed: 75 additions & 1 deletion

File tree

notes/algorithms/冒泡排序算法.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
<!-- TOC -->
2+
- [前言](#前言)
3+
- [正文](#正文)
4+
- [1. 实现代码](#1-实现代码)
5+
- [参考](#参考)
6+
<!-- /TOC -->
7+
18
## 前言
29

310
思路:每一趟遍历将最大元素冒泡到数组最后的位置;

notes/algorithms/堆排序算法.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
<!-- TOC -->
2+
- [前言](#前言)
3+
- [正文](#正文)
4+
- [1. 借助辅助空间](#1-借助辅助空间)
5+
- [2. 原地堆排序](#2-原地堆排序)
6+
- [参考](#参考)
7+
<!-- /TOC -->
8+
19
## 前言
210

311
对于堆这种数据结构,详细讲解在这:

notes/algorithms/归并排序算法.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
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)的一个非常典型的应用。

notes/algorithms/快速排序算法.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
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)

notes/algorithms/插入排序算法.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
<!-- TOC -->
2+
- [前言](#前言)
3+
- [正文](#正文)
4+
- [1. 代码实现](#1-代码实现)
5+
- [参考](#参考)
6+
<!-- /TOC -->
7+
18
## 前言
29

310
思路:插入排序就跟玩扑克牌一样,先把一部分牌给排好顺序,然后依次往后排剩下的牌,最终达到将所有牌都排序的效果。

notes/algorithms/选择排序算法.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
<!-- TOC -->
2+
- [前言](#前言)
3+
- [正文](#正文)
4+
- [1. 代码实现](#1-代码实现)
5+
- [参考](#参考)
6+
<!-- /TOC -->
7+
18
## 前言
29

310
思路:依次寻找[i, n)区间里的最小值的索引。

notes/datastructures/AVL树.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
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

317
AVL树本质上还是一颗二叉树,它的特点是:

notes/datastructures/堆和优先队列.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
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
下面先了解下二叉堆的基础知识

0 commit comments

Comments
 (0)