美文网首页
【算法】选择排序和快速排序

【算法】选择排序和快速排序

作者: ___Jing___ | 来源:发表于2019-01-28 10:18 被阅读0次

假设:你的电脑里存储了很多乐曲。对于每个乐队,你都记录了其作品被播放的次数。

乐队名称 播放次数
PADIOHEAD 156
KISHORE KUMAR 141
THE BLACK KEYS 35
NEUTRAL MILK HOTEL 94
BECK 88
THE STROKES 61
WILCO 111

将这个列表安播放次数从多到少顺序排列?

选择排序

一种办法是遍历这个列表,1)找出作品播放次数最多的乐队,并将其添加到一个新列表中;2)继续这样做,找出播放次数第二多的乐队;3)一直重复这个步骤,知道得到一个有序的列表。
那么这个方法需要多长的时间呢?需要的总时间为O(n 2 )。
第一次需要检查n个元素,随后依次为n-1,n-2···2和1.平均每次检查的元素为1/2xn,因此运行时间为O(nx1/2xn)。但是大O表示法省略常数,因此需要的总时间为O(n 2 )。

选择排序是一种比较容易理解的算法,但是速度并不快。快速排序使一种更快的算法,接下来让我们看一看。

-------------------------------------- 未完待续 --------------------------------------

相关文章

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

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

  • PHP常用算法

    基于选择的排序算法 常见的基于选择的排序算法有:冒泡排序、插入排序、选择排序、归并排序和快速排序,我们在选在排序算...

  • 常见排序算法

    这里介绍四种排序算法,选择排序、快速排序、归并排序、计数排序 选择排序(使用递归) 选择排序(使用循环) 快速排序...

  • js实现经典排序

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

  • python 排序算法

    文章概述 介绍各大常用经典的排序算法和效率,以及python实现常用算法(冒泡排序,选择排序,快速排序,插入排序)...

  • Java实现常见的算法

    主要罗列了常见的选择排序,冒泡排序和快速排序,还有二分查找的算法。 选择排序 冒泡排序 快速排序 二分查找 注意二...

  • IOS常见算法

    常见算法: 快速排序: 选择排序: 冒泡排序: 测试代码:

  • 【比较类排序算法】冒泡排序、选择排序、快速排序、插入排序、希尔排

    常见的经典比较类排序算法有冒泡排序、选择排序、快速排序、插入排序、希尔排序。这几种排序中快速排序和希尔排序的平均时...

  • OC常用算法

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

  • 算法之:排序

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

网友评论

      本文标题:【算法】选择排序和快速排序

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