在1000个整数中查找max int,使用冒泡排序或合并排序?

时间:2013-10-04 19:05:22

标签: algorithm sorting

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

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

都不是。

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

答案 2 :(得分:0)

冒泡排序平均为O(n2) ,即很少(如果有的话)使用它。

合并排序始终为O(n log n)

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

还有plenty of other choices for sorting。并some dedicated to numeric data

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