九大排序
baodream
这个作者很懒,什么都没留下…
展开
-
九大排序-基数排序
基数排序: //基数排序(Radix Sort)基本思想是:将整数按位数切割成不同的数字,然后按每个位数分别比较。 //具体做法是:将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。 //然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。 /* 时间复杂度:O(N*digit) 空间复杂度:O(N) 稳定性:稳定 */ cons...原创 2018-08-24 16:33:08 · 272 阅读 · 0 评论 -
归并排序
归并排序思想: 开始以间隔为1的进行归并,也就是说,第一个元素跟第二个进行归并。第三个与第四个进行归并; 然后,再以间隔为2的进行归并,1-4进行归并,5-8进行归并; 再以2*2的间隔,同理,知道2*k超过数组长度为止。 模板: //归并排序 /* 时间复杂度:O(N*log(N)) 空间复杂度:O(N) 稳定性:稳定 */ int a[N]; //需要排序的数组 int t...原创 2018-05-17 19:39:11 · 155 阅读 · 0 评论 -
快速排序
算法思想:快速排序时间复杂度O(NlogN),每次先选择一个关键字key,一般是选择序列的第一个元素或者序列的最后一个元素,将比key值小的元素全部放在左边,将比key值大的放在key值的右边,,然后一层层的递归下去,直至区间中只有一个元素时递归结束,然后在返回上一层,当所有的区间排序完成时,整个排序也就完成了。 代码: #include<cstdio> #include<...原创 2018-10-14 13:03:38 · 129 阅读 · 0 评论