美文网首页数据结构
常见十大排序算法概述

常见十大排序算法概述

作者: 程序员will | 来源:发表于2019-11-01 15:44 被阅读0次

排序算法概述

网上常见的排序算法有十种:冒泡排序快速排序插入排序希尔排序选择排序堆排序归并排序计数排序基数排序桶排序

排序算法分类

上面十大排序算法按照非线性时间比较类排序线性时间非比较类排序进行分类:

img

排序算法对比

时间复杂度空间复杂度稳定性三方面对比十种排序方法如下:

排序算法 时间复杂度(平均) 时间复杂度(最坏) 时间复杂度(最好) 空间复杂度(平均) 稳定性
冒泡排序 O(n2)O(n2) O(n2)O(n2) O(n)O(n) O(1)O(1) 稳定
快速排序 O(nlog2n)O(nlog2⁡n) O(n2)O(n2) O(nlog2n)O(nlog2⁡n) O(nlog2n)O(nlog2⁡n) 不稳定
插入排序 O(n2)O(n2) O(n2)O(n2) O(n)O(n) O(1)O(1) 稳定
希尔排序 O(n1.3)O(n1.3) O(n2)O(n2) O(n)O(n) O(1)O(1) 不稳定
选择排序 O(n2)O(n2) O(n2)O(n2) O(n2)O(n2) O(1)O(1) 不稳定
堆排序 O(nlog2n)O(nlog2⁡n) O(nlog2n)O(nlog2⁡n) O(nlog2n)O(nlog2⁡n) O(1)O(1) 不稳定
归并排序 O(nlog2n)O(nlog2⁡n) O(nlog2n)O(nlog2⁡n) O(nlog2n)O(nlog2⁡n) O(n)O(n) 稳定
计数排序 O(n+k)O(n+k) O(n+k)O(n+k) O(n+k)O(n+k) O(n+k)O(n+k) 稳定
基数排序 O(n+k)O(n+k) O(n2)O(n2) O(n)O(n) O(n+k)O(n+k) 稳定
桶排序 O(n⋅k)O(n⋅k) O(n⋅k)O(n⋅k) O(n⋅k)O(n⋅k) O(n+k)O(n+k) 稳定

相关文章

  • 常用排序算法

    转载 十大经典排序算法(动图演示) 0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 比较类排序:...

  • 排序算法

    转载自-十大经典排序算法(动图演示) 0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 比较类排序...

  • 必学算法

    参考文章:十大经典排序算法(动图演示) 一、算法概述 1. 算法分类 十种常见排序算法可以分为两大类: 非线性时间...

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

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

  • 常见十大排序算法概述

    排序算法概述 网上常见的排序算法有十种:冒泡排序、快速排序、插入排序、希尔排序、选择排序、堆排序、归并排序、计数排...

  • 数据结构和算法排序(三)

    常见十大排序算法: 冒泡排序、选择排序、插入排序、快速排序、堆排序希尔排序、归并排序、计数排序、基数排序、桶排序 ...

  • 数据结构与算法(二):排序算法

    十大基础排序算法。 Basic-Sorting-Algorithm 关于十大基本排序算法的整理。 十大排序算法分别...

  • 算法-选择排序

    算 法:选择排序算法时间复杂度: 选择排序算法概述 选择排序伪代码 选择排序实现 选择排序算法概述 排序算法有许...

  • 算法

    十大经典排序算法(动图演示) 【数据结构】链表的原理及与其相关的常见面试题总结 一、排序算法 交换排序冒泡排序快速...

  • Algorithm -- 排序算法

    单链表十大经典排序算法冒泡排序选择排序插入排序归并排序快速排序堆排序计数排序桶排序 1. 十大经典排序算法 十大经...

网友评论

    本文标题:常见十大排序算法概述

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