-1

我有一个程序在使用大数组时运行非常慢。

我在最终代码中使用了一个int[3000][3000]、一个String[27000]和一个String[5000]数组。此代码需要永远运行。这可能是因为数组占用了太多空间吗?

4

2 回答 2

2

这在很大程度上取决于您处理数据的算法的复杂性。和。这决定了当您开始向其中投入更多数据时需要多长时间(通过使数组越来越大)。如果您只是迭代数据,那么它将是 O(n) 的数量级,这意味着它将与提供的数据量成正比;因此,如果将数组的长度加倍,则执行程序所需的时间将增加一倍。例如,如果您将每个元素与另一个元素进行比较,则意味着它将在 O(n^2) 的数量级上,因此如果将数组的长度加倍,则处理它们的时间大约是四倍.

如果您的算法对于您的计算机来说过于复杂,您将不得不发布您的程序让我们知道。

另请参阅:大 O 表示法

于 2013-10-13T16:47:53.023 回答
-3

许多因素:

  1. 处理器处理速度。
  2. 内存分配
  3. 3000*3000*4 字节 = 36* 10.00.000 字节 = 338 MB
  4. 使用清单
于 2013-10-13T16:14:35.357 回答