【发布时间】:2015-10-26 18:16:32
【问题描述】:
谁能给我一个现实的例子,其中O(N*N) 算法比O(N) 算法对于某些N>10 更快。
编辑:我看到这个问题因为过于笼统而被搁置。但我只有一个一般性的问题。没有其他方法可以以不同的方式提出这个问题。
【问题讨论】:
-
这是课堂作业吗?
-
不是
O(n^2)vsO(N),但是当数据的大小较小时,冒泡排序比快速排序更快,因为快速排序的开销超过了冒泡排序的速度。跨度> -
答案不是在后面吗?如果你只是在这里问,做这些练习对你有什么帮助?
-
是:计数排序,当元素的数量很少,但范围很大时(因为你需要迭代直方图中的所有条目)。例如,考虑对元素
4,8,6,2,999999进行计数排序。您需要扫描一百万个条目的数组才能完成这种类型的排序,但您可以在大约 5*5 次迭代中执行任何“标准”排序。 -
另一个 stroustrup gem 是 O(1) 列表操作,而不是 O(N) 向量操作,其中列表要慢得多(由于缓存)