排序算法中的对偶性探索
在排序算法的世界里,存在着多种不同的算法,它们各有特点和适用场景。本文将深入探讨几种排序算法,包括插入排序、选择排序和归并排序,并介绍一些特殊的递归方案,如参数态射(paramorphisms)和余参数态射(apomorphisms),以及它们在优化排序算法中的应用。
1. 简单排序算法对比:朴素插入排序与冒泡排序
首先,我们来看朴素插入排序和冒泡排序。这两种算法的交换操作所进行的比较是相同的,只是比较的顺序有所不同。
- 朴素插入排序 :
输入:2 5 4 1 3
排序过程:
2 5 4 1 3
1 ↔3
2 5 4 1 3
4 ˙↔1
4 ˙↔3
2 5 1 3 4
5 ˙↔1
5 ˙↔3
5 ˙↔4
2 1 3 4 5
2 ˙↔1
2 ↔3
3 ↔4
4 ↔5
1 2 3 4 5
输出: 1 2 3 4 5
- 冒泡排序 :
输入:2 5 4 1 3
排序过程:
2 5 4 1 3
1 2 5 4 3
2 ˙↔1
5 ˙↔1
4 ˙↔1
1 ↔3
1 2 3 5 4
2 ↔3
5 ˙↔3
4 ˙↔3
1 2 3 4 5
3 ↔4
5 ˙↔4
1 2 3 4 5
4 ↔
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



