首页 > 编程知识 正文

十大排序算法,quicksort排序

时间:2023-05-04 07:39:22 阅读:38836 作者:3476

关于执行快速排序算法费时的分析在读某数据结构研究生的书时,我知道现在的排序算法是快速排序算法,ABCD显示的4个序列中,哪个最快,哪个最慢我个人认为答案分析不合适,进行了实验进行了分析。

实验的快排代码

defpartition(a,low, high ) 3360 tmp=a [ low ] whilelowhigh 3360 whilelowhighanda [ high ]=tmp : high-=1a [ low ]=a [ high ] whilelowhigh==tmpreturnlowdefquick_sort(a,start,end ) 3360ifstartend3360pos=end ) quick_sort(a,0,pos - 1 ) quick _ sortend

在实验中,每个数组执行10w次,统计了各自的执行时间。

升序

如果当前系列关键词有序且与需求中的顺序相同,则使用的时间一般较少(系列升序/降序,主题要求结果正好也是升序/降序); 当前系列键排序,与需求中的顺序相反时,一般较多使用(系列升序/降序,主题要求结果相反为降序/升序); 剩下的情况介于两者之间。 晚上进行100w次实验,结果反而出现随机性:

randomlistunderquicksorttime :0336014336057.409429 sortedlistunderquicksorttime :0336042.841151 sortedreverselisis

快速排序算法运行时和需求与序列状态有一定的关系,但不是绝对的。

如果当前系列的关键字已排序,且与需求中的顺序相同,则通常使用的时间较少(系列升序/降序,主题请求结果正好也是升序/降序) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。