经典排序算法

作者: 小杨同学97 | 来源:发表于2021-06-05 22:40 被阅读0次

虽然在各种编程语言中都提供了快速排序的函数或方法,而且刷算法题
时很少需要自己手写排序算法。排序算法都不是很难理解,但是有时候就特别尴尬,想要手写排序算法却写不出来。
所以我做了一个郑重的决定,手写n(1)遍经典排序算法。

十大经典排序算法比较

排序算法 平均时间复杂度 空间复杂度 稳定性
冒泡排序 O(n^2) O(1) 稳定
选择排序 O(n^2) O(1) 不稳定
插入排序 O(n^2) O(1) 稳定
希尔排序 O(nlog n) O(1) 不稳定
归并排序 O(nlog n) O(n) 稳定
快速排序 O(nlog n) O(log n) 不稳定
堆排序 O(nlog n) O(1) 不稳定
计数排序 O(n + k) O(k) 稳定
桶排序 O(n + k) O(n + k) 稳定
基数排序 O(n x k) O(n + k) 稳定

关于时间复杂度

平方阶 (O(n^2)) 排序 各类简单排序:直接插入、直接选择和冒泡排序。
线性对数阶 (O(nlog^2n)) 排序 快速排序、堆排序和归并排序;
O(n1+k)) 排序,k 是介于 0 和 1 之间的常数。 希尔排序
线性阶 (O(n)) 排序 基数排序,此外还有桶、箱排序。

关于稳定性

稳定的排序算法:冒泡排序、插入排序、归并排序和基数排序。
不是稳定的排序算法:选择排序、快速排序、希尔排序、堆排序。

相关文章

  • 经典排序算法总结

    经典排序算法集锦 冒泡法 排序算法入门之冒泡排序 排序算法入门之冒泡排序优化

  • 用 Python 实现十大经典排序算法

    今天,详细的跟大家分享下 10 种经典排序算法。 10种经典排序算法包括冒泡排序、选择排序、快速排序、归并排序、堆...

  • 序言-算法

    此文集将介绍一些经典的算法,从经典的排序算法开始不定期的补充纠错更新 1、经典排序算法 1.1桶排序Bucket ...

  • 算法学习(1)-排序算法

    八大排序算法九大排序算法再总结[经典排序算法][集锦][直观学习排序算法] 视觉直观感受若干常用排序算法 快速排序...

  • 十大经典排序算法&七大查找算法

    十大经典排序算法: 十大经典排序算法的时间、空间复杂度: 冒泡排序(Bubble Sort) 算法描述: 1、比较...

  • Algorithm -- 排序算法

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

  • 一文搞定十大经典排序算法(Java实现)

    本文总结十大经典排序算法及变形,并提供Java实现。参考文章:十大经典排序算法总结(Java语言实现)快速排序算法...

  • 2020-04-30-排序算法

    冒泡排序 直接选择排序 插入排序 快速排序 参考 算法学习笔记17-经典排序算法八大排序算法稳定性分析

  • 2018-06-30

    排序算法之归并排序 归并排序算法是排序算法中的经典算法之一,其核心思想是利用归并的思想实现的排序方法,该算法采用经...

  • 排序算法

    经典排序算法 高级排序算法 计数排序 时间复杂度O(n)基数排序 先排序高位(位数多的), 再排序高位

网友评论

    本文标题:经典排序算法

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