快速排名新算法怎么用?(教你快速排名新算法的9个步骤)

访客3年前关于黑客接单547

快速排序,正如它的名字所体现,是在实践中已知的最快的排序算法,平均运行时间为O(NlogN),最坏的运行时间为O(N^2)。算法的基本思想很简单,然而想要写出一个高效的快速排序算法并不是那么简单。基准的选择,米素的分割等都至关重要,如果你不清楚如何优化快速排序算法,本文你不该错过。

算法思想

快速排序利用了分治的策略。而分治的基本基本思想是:将原问题划分为若干与原问题类似子问题,解决这些子问题,将子问题的解组成原问题的解。

那么如何利用分治的思想对数据进行排序呢?假如有一个米素 *** A:

  • 选择A中的任意一个米素pivot,该米素作为基准

  • 将小于基准的米素移到左边,大于基准的米素移到右边(分区操作)

  • A被pivot分为两部分,继续对剩下的两部分做同样的处理

  • 直到所有子集米素不再需要进行上述步骤

可以看到算法思想比较简单,然而上述步骤实际又该如何处理呢?

如何选择基准

实际上无论怎么选择基准,都不会影响排序结果,但是不同的选择却可能影响整体排序时间,因为基准选择不同,会导致分割的两个 *** 大小不同,如果分割之后,两个 *** 大小是几乎相等的,那么我们整体分割的次数显然也会减少,这样整体耗费的时间也相应降低。我们来看一下有哪些可选择策略。

选择之一个或者最后一个

如果待排序数是随机的,那么选择之一个或者最后一个作基准是没有什么问题的,这也是我们最常见到的选择方案。但如果待排序数据已经排好序的,就会产生一个很糟糕的分割。几乎所有的数据都被分割到一个 *** 中,而另一个 *** 没有数据。这样的情况下,时间花费了,却没有做太多实事。而它的时间复杂度就是最差的情况O(N^2)。因此这种策略是绝对不推荐的


相关文章

怎样微信追踪定位(如何定位别人手机的所在位置)

如何手机微信追踪定位(怎样定位他人手机上的地理位置)A去年留学生毕业之后到一家汽车零配件公司做工艺技术技术工程师,生产型企业的团队氛围和构造和网A的自我认识十分不符合,他感觉做入不对行,找职业顾问做资...

罗汉果有减肥作用吗,罗汉果茶的效果和作用

罗汉果有减肥作用吗,罗汉果茶的效果和作用

罗汉果是一种很好的养生之品,罗汉果具有很好的滋补功效,可以滋润肠道,生津止渴提神醒脑、清肺消食;而罗汉果跟银耳、香梨、甘蔗汁水等共同熬成汤水可以止咳,清热。罗汉果是一种桂林的名贵土特产,那么罗汉果...

找黑客高手博客-有什么软件可以教你如何成为黑客

找黑客高手博客-有什么软件可以教你如何成为黑客

找黑客高手博客相关问题 有什么软件可以教你如何成为黑客相关问题 黑客入侵苹果手机会怎么样 装B黑客软件手机版(当黑客装b的网站)...

光大银行泄漏水池私人信息由谁来维护

光大银行泄漏水池信息内容:私人信息由谁来维护,以前造成的数据信息泄露事务管理,通常与金融机构“里边人员”有关。从案例经济管理的视...

金卡年费是多少

  金卡,凡是也称为贵客卡可能VIP卡,多用黄色金属(如镀金等)建造。 信用卡金卡的长处: 1,额度比普卡高。普卡额度在2000~10000,而金卡在10000~50000。 2,享几多。   另,年...