首先我们应该了解常用的七种比较排序有:直接插入排序,希尔排序,选择排序,冒泡排序,堆排序,快速排序,归并排序,它们都属于内部排序。除此之外还有常见非比较排序(外部排序):基数排序,桶排序,计数排序。
内部排序:指在内存上进行的排序。
外部排序:数据在外村上进行排序通常采用化整为零,使用递归实现的方法。
直接插入排序特点:初始数据越接近有序,时间效率越高。
希尔排序(最小缩量法)原理:取长度内质数进行分组排序,优先取最大质数,使得数字更加有序化,最后一步取1进行排序(对直接插入排序的优化),达到所有所有数字有序。
直接选择排序特点:相当于直接插入排序的反方法。
堆排序特点: 排升序要建大堆;排降序要建小堆。
冒泡排序特点:在每一趟遍历过程中对相邻数字大小进行调整。
快速排序特点:每次选择一个基准对数组进行分割到最小长度,最终得到有序数组。
归并排序特点:将数组不断进行分割,直到长度为最小单位,然后比较大小进行整合。
对常见排序的时间复杂度,空间复杂度以及稳定性进行归纳得出以下表格:

当内部排序溢出之后无法得到具体的结果,我们可以求得函数运行时间:利用运行时间差进行比较,得出最优方案计算(如下):

对于随机生成数字 ,给出的结果为大概范围,每次的运行结果和取值有关。
常见排序总结
最新推荐文章于 2024-10-16 23:20:52 发布
本文介绍了常见的内部排序算法,包括直接插入排序、希尔排序等,并对比了各种算法的特点及适用场景。此外,还概述了基数排序等外部排序算法,并对各种算法的时间复杂度、空间复杂度及稳定性进行了归纳。
7147

被折叠的 条评论
为什么被折叠?



