美文网首页On lzq ways
排序算法一 (冒泡,插入,选择)

排序算法一 (冒泡,插入,选择)

作者: zhengqiuliu | 来源:发表于2019-04-24 16:23 被阅读6次

平时开发中大多数都只是涉及到业务场景,对于底层的算法其实无需太多的关注,一是因为大多数框架目前已经这些基本的算法和能力,对于开发人员来说只需要会使用这些能力即可。可是这些基础知识又是如此重要,一是锻炼了个人的思维能力,还有就是这些上层的应用,都是基于这些基础知识来搭建的,如张无忌的九阳神功,练就了这门武功,再学习其它知识易如反掌。

最基础的排序算法分类:冒泡,插入,选择排序;快速排序,归并排序;桶排序,计数排序,基数排序。

先列出评价排序优劣的几个指标:

1,是否为原地排序算法。空间复杂度为O(1)

2,是否为稳定排序算法。相同的元素,排序不能产生顺序的变更

3,最好时间复杂度,最坏时间复杂度,平均时间复杂度。

从图可见冒泡排序和选择排序时间复杂度相同,但是为什么插入排序使用比冒泡排序要好?

实现代码算法的差别如下:

冒泡排序:

插入排序:

冒泡排序定义了临时变量进行交换,而插入排序只需要一次替换,3 Unit >  1 Unit。

虽然时间复杂度的阶数相同,但是系数不同,所以插入排序的效率要优于冒泡排序。

相关文章

  • 图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序

    图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序 图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序

  • 排序一:冒泡、插入、选择

    文章结构 概述 冒泡排序 插入排序 选择排序 1. 概述 常见的排序算法有:冒泡排序、插入排序、选择排序、归并排序...

  • PHP算法系列教程(一)-四大排序算法

    PHP算法系列教程(一)-四大排序算法 冒泡 冒泡排序原理图 选择 选择排序原理图 插入 插入排序原理图 快排 快...

  • OC常用算法

    排序算法 冒泡排序 选择排序 快速排序 插入 二分查找

  • 算法之:排序

    排序算法 冒泡排序 选择排序 快速排序 插入 二分查找

  • JAVA数据结构和算法——简单排序

    冒泡排序 选择排序 插入排序 排序算法的选择 除非手边没有算法书可参考,一般情况几乎不太用冒泡排序。选择排序虽然把...

  • 排序算法

    常见的排序算法 常见的排序算法有:插入、希尔、选择、冒泡、归并、快速、堆排序。。。 插入排序 算法步骤一、从数组的...

  • Chapter 2 Foundation of Algorith

    Chapter 2 插入排序 线性查找 选择算法 归并排序算法 二分查找算法 冒泡排序 插入排序 循环不...

  • noip普及组3:排序算法

    排序算法 ①冒泡排序:O() ②插入排序:O() ③选择排序:O() ④桶排序 ⑤sort排序

  • 排序算法

    排序算法 冒泡排序 选择排序 插入排序 快速排序(最常见) 希尔排序 归并排序 源码:Sorting 冒泡排序 冒...

网友评论

    本文标题:排序算法一 (冒泡,插入,选择)

    本文链接:https://www.haomeiwen.com/subject/favggqtx.html