-7

冒泡排序最多为 O(n),最坏为 O(n^2),其内存使用量为 O(1)。归并排序总是 O(n log n),但它的内存使用量是 O(n)。解释你将使用哪种算法来实现一个函数,该函数接受一个整数数组并返回集合中的最大整数,假设数组的长度小于 1000。如果数组长度大于 1000 怎么办?

4

3 回答 3

3

最简单的可能是遍历数组并在移动时跟踪最大的数组。这需要O(N)时间。所以你也不需要使用任何排序算法。

于 2013-10-04T19:08:01.817 回答
2

两者都不。

只需遍历项目并跟踪您找到的最大值。这是一个 O(n) 的解决方案。

于 2013-10-04T19:08:31.023 回答
0

冒泡排序是平均的,即很少,如果有的话,使用它是一个好主意。O(n2)

合并排序总是O(n log n).

因此,在这两个选择之间,合并排序更可取。

排序还有很多其他选择。还有一些专门用于数值数据

但是,只需找到最大元素,无需排序,您可以简单地遍历整数并跟踪最大值。

于 2013-10-04T19:08:31.447 回答