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

2019-01-28  本文已影响0人  ___Jing___

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

乐队名称 播放次数
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 )。

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

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

上一篇下一篇

猜你喜欢

热点阅读