我有一个程序在使用大数组时运行速度非常慢。
我在最终代码中使用int[3000][3000]
,String[27000]
和String[5000]
数组。这段代码需要永远运行。这可能是因为阵列占用太多空间吗?
答案 0 :(得分:2)
这取决于您操作数据的算法的复杂程度。用。这决定了当你开始在其中投入更多数据时需要花费多少时间(通过使数组越来越大)。如果你只是迭代数据,那么它将是O(n)的顺序,这意味着它将与提供的数据量成正比;因此,如果您将数组的长度加倍,则执行程序需要两倍的时间。比方说,如果你将每个元素与另一个元素进行比较,那就意味着它将在O(n ^ 2)的数量级上,所以如果你将数组的长度增加一倍,处理它们需要大约四倍的时间。
你必须发布你的程序,让我们知道你的算法是否只是复杂的计算机才能处理。
答案 1 :(得分:-3)
许多因素: