美文网首页
请说出至少三种排序的思路,这三种排序的时间复杂度分别为 O(n

请说出至少三种排序的思路,这三种排序的时间复杂度分别为 O(n

作者: vousmevoyezLi | 来源:发表于2019-02-26 10:10 被阅读0次

1.O(n*n)冒泡排序(升序)
选择第1个和第2个数字,如果第1个>第2个则二者交换位置,之后选择第2个和第3个数字,类似交换处理,一轮下来后,最大的数字会冒泡到最后一位。接下来,忽略已经排好的数字,对剩下的数字进行新一轮排序,直到所有数字都排序完成。
2.O(n log2 n)快速排序
从数列中挑出一个元素称为基准;
重新排序数列,所有比基准值小的元素放在基准前面,所有比基准值大的元素放在基准后面(相等的数可以放在任一边);
递归的把小于基准值的子数列和大于基准值的子数列排序;
递归到最底部时,数列的大小是零或一,也就是已经排序好了。
3.O(n + max)基数排序
将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。

相关文章

  • 请说出至少三种排序的思路

    请说出至少三种排序的思路,这三种排序的时间复杂度分别为 O(n*n)O(n log2 n)O(n + max) O...

  • 第十三节-线性排序

    这节课主要讲了三种线性排序方式:桶排序、计数排序、基数排序。这三种排序都是最好情况下时间复杂度 O(n) 的算法,...

  • 归并排序

    归并排序相对于冒泡、插入、选择这三种排序时间复杂度是O(n2)来说适合大规模的数据排序,它的时间复杂度是O(nlo...

  • 排序三:桶排序、计数排序、基数排序

    这一篇我们来看三种时间复杂度为O(n)的排序算法:桶排序、计数排序、基数排序。我们把这类时间复杂度为O(n)的排序...

  • 数据结构与算法--排序-O(nlogn)

    总结: 归并排序, 快速排序 时间复杂度 O(nlogn). 冒泡排序、插入排序、选择排序这三种排序算法,它们的时...

  • 算法与数据结构之排序(Swift版)

    1、冒泡排序 时间复杂度为O(n²) 2、选择排序 时间复杂度为O(n²) 3、插入排序 时间复杂度为O(n²)

  • 算法比较

    排序算法平均时间复杂度冒泡排序O(n²)选择排序O(n²)插入排序O(n²)希尔排序O(n1.5)快速排序O(N*...

  • 八大经典排序算法总结

    1.算法排序的时间复杂度:时间复杂度o(n^2)冒泡排序,选择排序,插入排序时间复杂度o(n*logn)归并排序,...

  • 【笔记-排序】

    排序平均时间复杂度最差时间复杂度最好时间复杂度稳定性冒泡排序O(n^2)O(n^2)O(n)稳定选择排序O(n^2...

  • LeetCode-排序算法

    LeetCode-排序算法 时间复杂度 排序算法平均时间复杂度冒泡排序O(n2)选择排序O(n2)插入排序O(n2...

网友评论

      本文标题:请说出至少三种排序的思路,这三种排序的时间复杂度分别为 O(n

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