原理:1.选定一个增长量h,按h作为分组依据,对数据进行分组
2.对分好组的每一组进行插入排序
3.减少增长量,最少减为一,重复第二步操作
原理:1. 尽可能的一组数据拆分为相等的两份,并对每一个自组继续进行拆分,直到拆分后每个自组的元素个数为1;
2. 将两个自组合并成一个有序的大组
3.不断重复步骤2,直到成为一个大组
1.快速排序是对冒泡排序的一种改进;
基本思想:通过一趟排序将要排序的数据分割为独立的两部分,一部分 的数据小于另一部分,然后再使用此方法对这两部分进行快速排序,整个过程使用递归进行;
1)基数排序又称‘桶排序’,又称‘桶子法’或bin sort, 他们通过键值各个位置,将要排序的元素分配到某些桶中,达到排序的作用。
2)效率高稳定的排序法
3)是桶排序的扩展
4)将整数按位切成不同的数字,然后按每个位进行比较
基本思想: 将所有带比较的数值统一为同样的位数长度,数位较短的位数前面补0,然后从位数最低位开始排序,这样从最低为到最高位依次排序完成后,就会成为有序的数列。
1.定义:假设数组a中右若干元素,其中A和B相等,在A在B的前面,在排完序之后任能保证A在B的前面,则稳定
2.常见排序算法的稳定性
稳定的:冒泡、插入、归并
不稳定的:选择、希尔、快速