我有一个程序在使用大数组时运行非常慢。
我在最终代码中使用了一个int[3000][3000]
、一个String[27000]
和一个String[5000]
数组。此代码需要永远运行。这可能是因为数组占用了太多空间吗?
这在很大程度上取决于您处理数据的算法的复杂性。和。这决定了当您开始向其中投入更多数据时需要多长时间(通过使数组越来越大)。如果您只是迭代数据,那么它将是 O(n) 的数量级,这意味着它将与提供的数据量成正比;因此,如果将数组的长度加倍,则执行程序所需的时间将增加一倍。例如,如果您将每个元素与另一个元素进行比较,则意味着它将在 O(n^2) 的数量级上,因此如果将数组的长度加倍,则处理它们的时间大约是四倍.
如果您的算法对于您的计算机来说过于复杂,您将不得不发布您的程序让我们知道。
另请参阅:大 O 表示法
许多因素: