![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
铖铖的花嫁
但愿日子干净,抬头遇见的都是柔情
展开
-
归并排序原理及C语言实现
归并排序的基本思想是典型的分治,将无序数组分成几段之后进行合并,每次合并时完成排序,也就是说,每次合并之后的数组都是有序的。所以,经过最后的合并,整个数组都将成为有序数组 。 分治的道理并不难懂,经典归并排序的细节主要在并这一方面。我们截取其中一次循环说明。因为每次合并之后数组会有序,所以下面例子中的图的红蓝部分都是局部有序的。 话不多说,直接上代码 #include<bits/stdc++.h> using namespace std; //Two-way merging in原创 2022-02-27 10:58:31 · 522 阅读 · 0 评论 -
快速排序优化算法原理及C语言实现
经典快排 快速排序(quicksort)的主要思想是分治,意为分而治之。其算法整体思路如下图 以升序排序为例,个人认为经典的快速排序算法的主要思想为:在每次排序后,中轴数(pivot)位置前的数都小于中轴数,其位置后的数都大于中轴数。所以每轮快速排序的步骤可以分为: 1、确认中轴数 2、寻找中轴数应该出现的位置 3、对中轴数前后的数分别进行快速排序 优化算法 我们这次的优化主要针对中轴点的选取。 我们知道,快速排序的中轴数的选取原创 2022-02-26 12:18:53 · 987 阅读 · 0 评论