摘要: 基数排序(Radix Sort) 基数排序是按照低位先排序,然后收集;再按照高位排序,然后再收集;依次类推,直到最高位。有时候有些属性是有优先级顺序的,先按低优先级排序,再按高优先级排序。最后的次序就是高优先级高的在前,高优先级相同的低优先级高的在前。 1.算法描述 取得数组中的最大数,并取得位数; 阅读全文
posted @ 2022-03-16 22:56 HZX↑ 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 桶排序(Bucket Sort) 桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。桶排序 (Bucket sort)的工作的原理:假设输入数据服从均匀分布,将数据分到有限数量的桶里,每个桶再分别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排 阅读全文
posted @ 2022-03-16 22:36 HZX↑ 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 计数排序(Counting Sort) 计数排序不是基于比较的排序算法,其核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。 作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。 1.算法描述 找出待排序的数组中最大和最小的元素; 统计数组中每个值为i的元素出现的次数 阅读全文
posted @ 2022-03-16 22:23 HZX↑ 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 堆排序(Heap Sort) 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分为两种方法: 大顶堆:每个节点的值都大于或等 阅读全文
posted @ 2022-03-16 22:18 HZX↑ 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 快速排序(Quick Sort) 快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 1.算法描述 快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。具体算法描 阅读全文
posted @ 2022-03-16 21:45 HZX↑ 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 归并排序(Merge Sort) 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。 1. 阅读全文
posted @ 2022-03-16 13:00 HZX↑ 阅读(32) 评论(0) 推荐(0) 编辑