算法快速排序,想提高效率就要少做事情

Posted 冰帝的秘密花园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法快速排序,想提高效率就要少做事情相关的知识,希望对你有一定的参考价值。

世界上通常情况下最好的算法是快速排序算法,它是由英国计算机科学家托尼霍尔在1961年发表的,它为啥快呢,原因很简单,就是强调少做事情,原理大概如下:

首先,对于一大堆无序的数字,从中随机挑选一个,比如53,这个被选中的数字被称为枢值,接下来将其他要排序的数字分为两部分,一部分大于53的,一部分小于53的。

第二步,从上面得到的两堆数字,分别用第一步的方法各自再找一个枢值。后面以此类推。这种算法的复杂度也是 N*log(N),和之前介绍的归并排序相同,速度比它快两倍。为啥它会快一些呢?

假如有一个学区,里面有30000名中学生,如果让大家到一个大学校上课,并挑出尖子生,效率快不了,就跟之前讲的冒泡排序是一样的。

如果把这些学生放到10所学校,每所学校只有3000人,从各自学校挑选出尖子生,再进行比较,这样有效率多了,这就是归并排序。

如果我们划出几个分数线,根据成绩高低对学生进行分配到十个学校去,第一所学校的学生成绩最好,第十个学校的学生成绩最差,那么找出尖子生,就容易了,工作量最小,就是快速排序的原理。


依次延伸到社会管理,道理也是相通的,想要提高效率就要少做事情。一个年轻人刚进入一个公司的时候,处于最低的层次,不要指望公司会照顾底层的员工,那样的组织没有效率,每个底层的员工所思考的,是如何进入更高的层级。

以上是关于算法快速排序,想提高效率就要少做事情的主要内容,如果未能解决你的问题,请参考以下文章

快速排序

最快排序——快速排序(算法三)

算法:快速排序(ScratchPython)

编程码拉松希尔排序

为什么快速排序算法效率比较高?

快速排序算法详解