1、插入排序

插入排序时间复杂度:
最好:
所有元素已经排好序,只需遍历一遍,无需交换位置;
最坏:
所有元素逆序排列,遍历一次需要比较的元素个数每次+1,所以时间复杂度是O(n^2);
平均时间复杂度就是O(n^2)喽。

2、快速排序

有关快速排序时间复杂度:
最好的时间复杂度和平均时间复杂度就是O(nlogn);
正常情况下是递归log2n次,每次遍历的最坏时间复杂度是n,所以平均时间复杂度是O(nlogn);
最好的时间复杂度就是每次都划分的很均匀;时间复杂度就是O(nlogn);
最坏的时间复杂度是O(n^2),这种情况就是原先的数据就是排序好,这样每次只能位移一个数据,
每次划分的子序列只比上一次划分少一个记录,注意两一个为空。

3、归并排序

归并排序时间复杂度:
归并排序无论在什么情况下,将数组拆分都需要log(n)次;
在归并时,也需要遍历比较两个数组的大小,平均时间复杂度O(n);
所以归并排序最好最坏时间复杂度都是nlogn;
空间复杂度是O(n);

4、堆排序

堆排序每次都要将一个元素上升到堆顶,然后放回最后,需要n轮,固定不变
每一轮堆调整的时间复杂度是log(n),n依次递减
所以堆排序的时间复杂度是O(nlogn)

几种常见排序算法时间复杂度相关推荐

  1. 八种常见排序算法细讲

    目录 常见的八种排序 直接插入排序 希尔排序 直接选择排序 堆排序 冒泡排序 快速排序 hoare版本 挖坑法 前后指针版 快速排序代码 归并排序 计数排序 常见的八种排序 直接插入排序 ⾸先,我们将 ...

  2. Java几种常见排序算法与代码实现

    前言: 排序算法也算是每年校招.春招.社招都会问到的问题,虽然每次复习了就忘,但是也可以隔一段时间又拿出来看看. 其中,排序方式指,内部还是外部排序.只需要内部内存就可以的称为内部排序,数据量太大需要 ...

  3. php 版本排序,四种常见排序算法--PHP版本

    1.冒泡排序法 /** * 冒泡排序 * des 对一组数据,比较相邻数据的大小,将值小数据在前面,值大的数据放在后面. */ $array = [2,5,1,3,7,4]; $result = bu ...

  4. 利用Python实现几种常见排序算法

    一.排序算法概览 插入排序:直接插入排序,二分法插入排序 选择排序:直接选择排序,堆排序 交换排序:冒泡排序,快速排序 归并排序 二.代码实现 1.直接插入排序 最简单直接的一种方式,序列在排序中可分 ...

  5. 四种常见排序算法的对比和总结 插入排序、归并排序、快速排序、堆排序

    目录 一.排序算法的时间复杂度 二.排序算法是否是原地排序 三.排序算法的额外空间 四.排序算法的稳定性 Stable 五.总结 这里我们要总结的排序算法主要有4个,分别是插入排序Insertion ...

  6. php 各种排序算法,PHP四种常见排序算法

    一.冒泡排序: 冒泡排序可以说是最常见,也是最简单,最经典的排序算法了. 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换 ...

  7. JavaScript版几种常见排序算法

    说明 写这个主要是为了锻炼自己,并无实际意义. 每个浏览器测试得出的数据会不一样.比如我用chrome 测试 一般快速排序都会最快,IE 则根据数组长度有可能希尔最快. 不要用太大数据去测试冒泡排序( ...

  8. 【知了堂学习笔记】java 编写几种常见排序算法3

    排序的分类: 1.希尔排序 希尔排序是快速插入排序的改进版,希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序:随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰 ...

  9. 常见排序算法时间复杂度和空间复杂度

    快速排序时间复杂度: 可以看这个视频视频 https://www.bilibili.com/video/BV1xb411T7dN?spm_id_from=333.337.search-card.all ...

  10. 常见排序算法时间复杂度

    冒泡排序:最差,平均都是O(n^2),最好是O(n) 插入排序:最差,平均都是O(n^2),最好是O(n) 归并排序:最差,平均,最好都是O(nlogn) 选择排序:最差,平均都是O(n^2) 希尔排 ...

最新文章

  1. python自学网站有哪些-分享干货:三个新手自学Python的网站!
  2. 网页魔法菜单(使用说明)
  3. mysql创建用户以及授权
  4. 运维如何逆袭?月薪30K的牛逼运维需要的知识,全在这里了
  5. 微软75亿收购Github,微软以开发者为中心的初心不变
  6. WZK的排名(jzoj 1995)
  7. python中object是什么类型_Python 的 type 和 object 之间是怎么一种关系?
  8. KMP算法计算next数组 匹配字符串
  9. 0627-TP整理三(对表的操作,数据的显示)
  10. 2021华为软挑(区域初赛)总结
  11. php如何使用代码生成pdf文件,教你利用PHP生成PDF文件
  12. Scala3下载及安装下载地址(Mac安装Scala)
  13. html生成pdf字体错误,使用wkhtmltopdf时显示为PDF的错误字体
  14. 安卓系统加速_真就这么简单让你的安卓手机变流畅?
  15. 【Android安全】priv-app 系统应用权限
  16. 【源码】林业害虫检测小程序(可拓展美化)
  17. html字体铺盖颜色,买被子也是有讲究的?这几种颜色的被子,再好看都别往卧室放!...
  18. 中国移动云mas短信对接(http)
  19. 迷宫中离入口最近的出口问题
  20. 同源策略是什么,有何作用

热门文章

  1. 移动通信原理B-------例题解答2
  2. 基于FairMOT的车流量统计
  3. ​【UI界面】Foobar2000 FlatLite 整合版
  4. UVZ转成PDF并添加目录
  5. Linux驱动加载总结
  6. Unity编辑器扩展-基本界面编写
  7. TinyMCE 富文本编辑器 ━━ 自定义插件之弹窗基础设置(整理)
  8. JavaWeb实现视频在线播放
  9. WinRAR注册+去广告教程
  10. java sql注入 正则表达式_有效防止SQL注入的5种方法总结