
排序
Howe Tan浪漫的季节
编程是一种艺术,在艺术的殿堂里我乐此不彼。
展开
-
十大经典排序算法分析与演示
本博文属于转载,转载地址为https://www.cnblogs.com/onepixel/articles/7674659.html#undefined。若原博主不同意立即删除。特此转载过来和大家一起学习。十大经典排序算法(动图演示)0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn)...转载 2019-04-16 15:36:16 · 178 阅读 · 0 评论 -
C++用递归的方法实现归并排序mergesort()
解题思路如下:1、确定数组的大小,以及输入数组中的元素值;2、将输入的数组进行分组归并;3、将整个数组分成左右两个数组,左右两个数组再向下分,直至子数组的元素少于2个时,子数组将停止分割;4、当左右子数组不能再分割,也是都是一个元素时,比较他们的大小,进行排序合并;5、再排序合并上一级子数组为两个元素的数组,接着再排序合并上一级子数组为四个元素的数组;直至到排序合并刚开始的两个...原创 2019-04-23 19:40:28 · 1142 阅读 · 0 评论 -
C++使用队列的链表形式实现基数排序radixsort()
思路如下:1、首先封装一个队列类Queue用链表形式实现,包括队列的插入元素、删除元素以及判断是否为空;这样就实现了一个队列2、接着实现基数排序的算法流程;3、建立数组队列用来保存基数为0~9的元素值(每个数从右向左取每一位);4、计算每个元素个位上是值,然后将该元素值放入个位数对应的队列中;5、依次计算十位、百位...........;等并放入相应的队列中;6、最后从队列...原创 2019-04-19 11:35:21 · 836 阅读 · 0 评论 -
C++实现堆排序(最简易明了的解法,附加示意图讲解及源代码)
堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图:同时,我们对堆中的结点按层进行编号,...原创 2019-07-15 22:46:01 · 5411 阅读 · 0 评论