确定给定数组中负数的快速算法

时间:2013-10-12 15:50:49

标签: algorithm

如果阵列只有一个负数,请建议是否有更快的方法在给定数组中找到负数。我认为排序是一种选择,但如果有更快的方法,它将会有所帮助。

3 个答案:

答案 0 :(得分:1)

排序不会比通过数组的所有元素更快(因为排序你也必须这样做)。

最快的事情是通过all数组并在检测到一个负数后停止。

答案 1 :(得分:0)

只是遍历数组。这是 n 的顺序。排序最好是 n(log n) ;最糟糕的是 n 2

答案 2 :(得分:0)

可能最快的是只扫描阵列直到找到它。

如果您刚刚执行此操作,并且不需要将数组排序用于其他目的,则扫描负数比执行排序更快。但是,如果您需要(或可以使用)排序用于其他目的,或者您可能需要多次找到负数,那么排序可以最终节省时间。同样地,对于某些程序,花费额外的时间准备在真正关键时获得更快的响应是合理的(但我不知道这是否适用于此)。