![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
经典排序算法
doingfox_
这个作者很懒,什么都没留下…
展开
-
经典排序算法之——直接插入排序
对于一共有n个元素的序列,第一次排序,将第1个元素当成一个有序序列,后面n-1个元素当成待排序的无序队列。直接插入排序基本思想是:将一个元素插入到已排好序的序列中从而形成一个新的有序序列,并将这一过程重复多次。1.当数据正序时,执行效率最好,每次插入都不用移动前面的元素,时间复杂度为O(N)。2.当数据反序时,执行效率最差,每次插入都要前面的元素后移,时间复杂度为O(N2)。直接插入排序的过程中,不需要改变相等数值元素的位置,所以它是稳定的算法。3.所以,数据越接近正序,直接插入排序的算法性能越好。原创 2023-10-13 16:08:58 · 64 阅读 · 0 评论 -
经典排序算法之——快速排序算法
而快速排序的大概需要 Nlog2N次的分割处理,所以占用空间也是 Nlog2N 个。而当数据随机分布时,以第一个关键字为基准分为两个子序列,两个子序列的元素个数接近相等,此时执行效率最好。然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。当数据有序时,以第一个关键字为基准分为两个子序列,前一个子序列为空,此时执行效率最差。所以,数据越随机分布时,快速排序性能越好;在快速排序中,相等元素可能会因为分区而交换顺序,所以它是不稳定的算法。原创 2023-10-13 15:53:58 · 64 阅读 · 0 评论