题目简述:
此类题目一般概括为:通过交换相邻数来完成排序所需要的最少交换次数。
分析:
显然简单的冒泡排序就是基于这种思想,但是O(n^2)的效率常常无法满足题目要求,我们只能另寻它路。
还是模拟原始做法:
4 8 2 7 5 6 1 3
1 4 8 2 7 5 6 3------>6次
1 2 4 8 7 5 6 3------>2次
1 2 3 4 8 7 5 6------>5次
1 2 3 4 5 8 7 6------>2次
1 2 3 4 5 6 8 7------>2次
1 2 3 4 5 6 7 8------>1次

该博客探讨了一类经典问题,即如何通过交换相邻数字以完成排序,并尽可能减少交换次数。文章分析了冒泡排序的不足,提出了一种新的思路:找到最小值并移到前面,统计其前面比它小的数。这种方法实际上是在计算数列的逆序对数量。博主提到了树状数组和线段树等数据结构在解决此类问题中的应用。

537

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



