直接插入排序希尔排序选择排序堆帕西冒泡排序快速排序归并排序基数排序计数排序外排序排序总结算法直接排序算法:直接排序算法原理:从第二个记录开始,每插入一个记录,先在序列中找到"/>

春招备战之排序算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了春招备战之排序算法相关的知识,希望对你有一定的参考价值。

排序算法:

技术分享

  1. 直接插入排序

  2. 希尔排序

  3. 选择排序

  4. 堆帕西

  5. 冒泡排序

  6. 快速排序

  7. 归并排序

  8. 基数排序

  9. 计数排序

  10. 外排序

  11. 排序总结

算法

  • 直接排序算法:

    直接排序算法原理:从第二个记录开始,每插入一个记录,先在序列中找到该记录(从后向前)的位置,然后插入该记录(将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。

    直接插入排序的时间复杂度:O(n^2)

    直接插入排序的稳定性:因为每次插入记录,当遇到相同值记录的时候,放到相等记录的后面,也就是相等记录的前后顺序并没有改变,因此直接插入排序是稳定的,是原址排序

    二分插入排序:在插入第i个元素时,对前面的0~i-1元素进行折半,先跟他们 中间的那个元素比,如果小,则对前半再进行折半,否则对后半 进行折半,直到left>right,然后再把第i个元素前1位与目标位置之间 的所有元素后移,再把第i个元素放在目标位置上。 二分法没有排序,只有查找。所以当找到要插入的位置时。移动必须从最后一个记录开始,向后移动一位,再移动倒数第2位,直到要插入的位置的记录移后一位。


本文出自 “SuperHakce” 博客,谢绝转载!

以上是关于春招备战之排序算法的主要内容,如果未能解决你的问题,请参考以下文章

备战秋招之八大排序——O(n^2)级排序算法

万字长文带你走进快速排序的前世今生

常见的排序算法总结(JavaScript)

算法排序算法之冒泡排序

算法排序算法之插入排序

算法排序算法之希尔排序