怎样同怎样同步接收老婆微信(同步接收老婆微信)
快速排序,正如它的名字所体现,是在实践中已知的最快的排序算法,平均运行时间为O(NlogN),最坏的运行时间为O(N^2)。算法的基本思想很简单,然而想要写出一个高效的快速排序算法并不是那么简单。基准的选择,米素的分割等都至关重要,如果你不清楚如何优化快速排序算法,本文你不该错过。
算法思想
快速排序利用了分治的策略。而分治的基本基本思想是:将原问题划分为若干与原问题类似子问题,解决这些子问题,将子问题的解组成原问题的解。
那么如何利用分治的思想对数据进行排序呢?假如有一个米素 *** A:
选择A中的任意一个米素pivot,该米素作为基准
将小于基准的米素移到左边,大于基准的米素移到右边(分区操作)
A被pivot分为两部分,继续对剩下的两部分做同样的处理
直到所有子集米素不再需要进行上述步骤
可以看到算法思想比较简单,然而上述步骤实际又该如何处理呢?
如何选择基准
实际上无论怎么选择基准,都不会影响排序结果,但是不同的选择却可能影响整体排序时间,因为基准选择不同,会导致分割的两个 *** 大小不同,如果分割之后,两个 *** 大小是几乎相等的,那么我们整体分割的次数显然也会减少,这样整体耗费的时间也相应降低。我们来看一下有哪些可选择策略。
选择之一个或者最后一个
如果待排序数是随机的,那么选择之一个或者最后一个作基准是没有什么问题的,这也是我们最常见到的选择方案。但如果待排序数据已经排好序的,就会产生一个很糟糕的分割。几乎所有的数据都被分割到一个 *** 中,而另一个 *** 没有数据。这样的情况下,时间花费了,却没有做太多实事。而它的时间复杂度就是最差的情况O(N^2)。因此这种策略是绝对不推荐的。
两学一做是什么(三严三实,两学一做,四个意识是啥内容) 三严三实,两学一做,四个意识是啥内容 两学一做是指:学党章党规、学系列讲话、做合格党员” 三严三实:既严以修身、严以用权、严以律己,又谋事...
随着科技的发展使得电动牙刷几乎每个家庭拥有。各大品牌的电动牙刷从价格到功能都有很多款,太土豪的我们不讨论,那么针对入门级的电动牙刷,我们应该怎么挑选呢?今天,给大家做一个250-400元之间入门级的各...
《百变大咖秀》即将回归 范丞丞虞书欣杨迪等人加盟 《百变大咖秀》综艺自停播后终于迎来了好消息,该节目即将在2021回归了,回归的同时,节目嘉宾都有谁也是备受关注的。据透露,节目邀请的嘉宾阵容相当的豪华...
在这个看重颜值的年代,谁不希望自己更漂亮一点?! 我们普通女孩子想进化成别人眼中的漂亮,有几个修炼途径。 1、化妆 化妆几乎是最简单快捷的变美丽的途径了。在各种网络平台上,秧秧都看到很多姑娘通过...
如果你想不用多久就会升职加薪,当上总经理,出任CEO,赢取白富美,走上人生巅峰,那么就感觉趁着大家对移动互联网还不熟悉的情况下,来做移动互联网吧。今天我的博客移动手机网页及APP均...
LOL怎么样才能快速的满级呢?最近有不少玩家在跟小编反应自己玩的好好的号被封了。简直是无情。但是自己又不想就这样放弃这游戏,就想着再到别的区去练一下小号。那么怎么样才能快速的练到满级呢?下面小编就来跟...