与我的三向快速排序(也是用python编写的)相比,它的速度非常慢。#Merges two sorted lists into one sorted list. recursively if,right = mergesort(left),mergesort(right)
return merge(left
if mergesort is at least 100 times faster then quick sort it uses mergesort, otherwise quicksort.calculate the worst possible outcomes worst_mergesort: int =is 100 faster then the worst of quick sort
if worst_<em
在将我的快速排序实现与我的编译器上的std::sort以及mergesort的实现进行比较时,我注意到大型数据集上有一种奇怪的模式:当对64位整数进行操作时,快速排序始终比mergesort快;然而,在较小的int大小上,快速排序变得更慢,而mergesort则变得更快。(first, last, quicksort_pivot_back<Iterator>);
quicksort_loop(bounds.second, last);run_trial<
我实现了Random_list.create、Mergesort.sort_list和Quicksort.sort_list。我们可以假设这三个函数是正确实现的,而实现在这个问题中并不重要。l) in
let len2 = List.length (Quicksort.sort_list在mergesort done for 10000000 elements之后。10