首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速排序还是选择排序?

快速排序还是选择排序?
EN

Stack Overflow用户
提问于 2015-01-25 03:39:54
回答 3查看 5.6K关注 0票数 0

我对快速排序和选择排序有疑问。我在这里读了很多帖子,但都没有回答我的问题。看一看:我们有10 to的数字,我们必须对它们进行排序。然而,我们只有800mb的内存可用,所以合并排序是不可能的。现在,由于数组的巨大尺寸,冒泡排序也是不可能的。就我个人而言,我认为这两种排序算法都很适合这项工作,但我只能选择其中一种,效果更好的。快速排序:通常有: O(N * logN)和最差: O(N^2)选择排序:通常和最差: O(N^2)快速排序似乎更好,但根据我的经验,我认为对于大型数据结构,选择排序略好于快速排序。你认为如何?谢谢!

EN

回答 3

Stack Overflow用户

发布于 2015-01-25 03:52:53

对于如此庞大的数据,快速排序比选择排序更好。在测试数据中包含较大的已排序数据集的情况下,选择排序可能会执行得更好。但这并不能让它比快速排序更好。在您的案例中,您的主要问题是如何继续对如此庞大的数据进行排序,因为这些数据无法保存在内存中并执行

票数 2
EN

Stack Overflow用户

发布于 2015-01-25 03:45:46

selection sort is slightly better than quicksort for huge data structures!你从哪里弄到这个的?该算法需要二次时间,因此它显然比快速排序差得多。实际上,你如何在RAM中容纳10‘s,如果它不在RAM中,你就不能在你的数组上使用任何算法。您需要一个外部排序算法,或者您可以将数据存储在DB中,然后让DB引擎为您排序。

票数 1
EN

Stack Overflow用户

发布于 2018-11-13 04:56:43

在这种情况下应该使用快速排序,因为它是当前最快的排序算法。因为选择排序会遍历每一项以找到最小的数字并将其放在最前面,所以即使在内存有限的情况下,它也会花费更长的时间(特别是如果有如上所述的巨大数据结构)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28129472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档