This commit is contained in:
krahets
2023-02-26 01:51:44 +08:00
parent 43a7e5d526
commit 1a6a6b0342
12 changed files with 238 additions and 167 deletions

View File

@@ -43,7 +43,7 @@ comments: true
2. 同理,对剩余 $n - 1$ 个元素执行「冒泡」,可将第二大元素交换至正确位置,因而待排序元素只剩 $n - 2$ 个。
3. 以此类推…… **循环 $n - 1$ 轮「冒泡」,即可完成整个数组的排序**
![bubble_sort](bubble_sort.assets/bubble_sort.png)
![bubble_sort_overview](bubble_sort.assets/bubble_sort_overview.png)
<p align="center"> Fig. 冒泡排序流程 </p>

View File

@@ -20,7 +20,7 @@ comments: true
2. 第 2 轮选取 **第 3 个元素**`base` ,执行「插入操作」后,**数组前 3 个元素已完成排序**。
3. 以此类推……最后一轮选取 **数组尾元素**`base` ,执行「插入操作」后,**所有元素已完成排序**。
![insertion_sort](insertion_sort.assets/insertion_sort.png)
![insertion_sort_overview](insertion_sort.assets/insertion_sort_overview.png)
<p align="center"> Fig. 插入排序流程 </p>

View File

@@ -9,7 +9,7 @@ comments: true
1. **划分阶段**:通过递归不断 **将数组从中点位置划分开**,将长数组的排序问题转化为短数组的排序问题;
2. **合并阶段**:划分到子数组长度为 1 时,开始向上合并,不断将 **左、右两个短排序数组** 合并为 **一个长排序数组**,直至合并至原数组时完成排序;
![merge_sort_preview](merge_sort.assets/merge_sort_preview.png)
![merge_sort_overview](merge_sort.assets/merge_sort_overview.png)
<p align="center"> Fig. 归并排序两阶段:划分与合并 </p>

View File

@@ -296,7 +296,7 @@ comments: true
观察发现,快速排序和「二分查找」的原理类似,都是以对数阶的时间复杂度来缩小处理区间。
![quick_sort](quick_sort.assets/quick_sort.png)
![quick_sort_overview](quick_sort.assets/quick_sort_overview.png)
<p align="center"> Fig. 快速排序流程 </p>