猫史档案馆


关于快速排序

用户:虚影疾风虚影疾风查看:30 回复:8 评论:30 创建时间:2021-03-27T18:31:02


    话说,快速排序是一种很重要的排序方式(其实是我讲起来不需要图片)。

    很好,我们继续。

    快速排序,是最快的通用内部排序算法。由Hoare于1962年提出。咳!我知道也许会有人说归并排序。但是!相对归并排序来说不仅速度更快,并且不需要辅助空间。按照分治三步法,我对其做如下介绍。

    划分问题:把数组的各个元素重排后分成左右两部分。使得左边所有元素都小于右边所有元素。

    递归求解:把两边分别排序。

    合并问题:其实不用合并,因为此时的数组已经完全有序。

    是不是很简单?(水沝淼㵘)。

    好吧,其实就是这么简单,也许会觉得这样的描述太过笼统,但事实上,快速排序本来就不是只有一种实现方法。“划分过程”有多个不同的版本,导致快速排序也有不同的版本。

    重点来了!你有在听我讲吗?听着的对吧?很好。

    所以快速排序的程序大家可以在互联网上找到。这里我就不在给出代码了。

(提示:快速排序的时间复杂度为:最坏情况O(n【n的平方】),平均情况为O(nlogn)。但实践中几乎不可能达到最低峰。效率非常高。根据快速排序的思想。可以在平均O(n)时间内选出数组中第K大的元素。

 


回复

上一页1 页 / 共 1下一页
小小爱html小小爱html

沙发

点赞0


评论


虚影疾风虚影疾风

……

点赞0


评论


醉醉白凰醉醉白凰

针不戳

点赞1


评论


蒟蒻OIer1048576蒟蒻OIer1048576

def QSort(a):
    if len(a) < 2:return a
    mid = a[(len(a)+1)//2]
    return QSort([i for i in a if i < mid]) + [mid] + QSort([i for i in a if i > mid])

点赞0


评论


果断的木叶龙4_E1果断的木叶龙4_E1

直接sort不香吗

点赞0


评论


1BB0090940B96FFBF1BB0090940B96FFBF

sort(n,n+a);

点赞0


评论


离开的十五分之六老咸鱼离开的十五分之六老咸鱼

草sort好像就是喵写的

点赞0


评论


Error_Block错误方块Error_Block错误方块

排排排

点赞0


评论