![Avatar notebook default](https://cdn2.jianshu.io/assets/default_avatar/avatar-notebook-default-640f7dde88592bdf6417d8ce1902636e.png)
基数排序 基数排序是桶排序的扩展,它的基本思想是将整数按位数切割成不同的数字,然后按每个位数分别比较。 1. 算法步骤 1.1 将所有待比较数值...
桶排序 桶排序是计数排序的升级版,它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。为了使桶排序更加高效,我们需要做到这两点:首先...
堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏、最好、平均时间复杂度均为O(nlogn),它也是不稳定排...
计数排序 1. 算法步骤 1.1 花O(n)的时间扫描一下整个序列A,获取最小值min和最大值max;1.2 开辟一块新的空间创建新的数组B,长...
快速排序 1. 算法步骤 1.1 从数列中挑出一个元素,称为“基准”(pivot);1.2 重新排序数列,所有元素比基准值小的摆放在基准前面,所...
归并排序 1. 算法步骤 1.1 申请空间,使其大小为两个已排序序列之和,该空间用来存放合并后的序列;1.2 设定两个指针,最初位置分别为两个已...
希尔排序 1. 算法步骤 希尔排序是简单插入排序经过改进后的一个更高效的版本,也称为缩小增量排序。它与插入排序的不同之处在于,它会优先比较距离较...
插入排序 1. 算法步骤 1.1 将待排序序列的第一个元素看成有序序列,把第二个元素到最后一个元素当成是未排序序列;1.2 从头到尾依次扫描未排...
选择排序 1.算法步骤 1.1首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置;1.2再从剩余未排序元素中继续寻找最小(大)元素,...
文集作者