使用 Java(如果重要的话)
我一个接一个地运行 MergeSort 和 QuickSort 并比较两者的运行时间,在我的计算机上对 10,000,000 个值进行排序时我发现运行 MergeSort 时的运行时间然后是 QuickSort
合并排序 = 1.6 秒(大约)
快速排序 = 0.3 秒(大约)
当首先运行 Quicksort 然后 MergeSort 为相同的输入大小 10,000,000 我得到
合并排序 = 0.6s
快速排序 = 1.2 秒
我假设这可能与内存分配有关,但我不确定您将如何解释
-编辑- 在运行这两个例程之前,我正在创建一个包含 10,000,000 个随机值的文件 randomintegers.dat 的两个单独的数组 a[] 和 b[]。MergeSort 对数组 a[ ] 进行排序,QuickSort 对数组 b[ ] 进行排序。(即两个数组是分开的