十大排序算法复杂度
终极管理员 知识笔记 51阅读
十种常见排序算法有哪些?
答:十种常见排序算法可以分为两大类:. 比较类排序 :通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O (nlogn),因此也称为非线性时间比较类排序。. 非比较类排序 :不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。.
什么是计数排序?
答: 计数排序不是基于比较的排序算法,其核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。 作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。
如何重新排序数列?
答:重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。 在这个分区退出之后,该基准就处于数列的中间位置。 这个称为分区(partition)操作; 递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。