我有三个从零到 n 的嵌套循环。n 是一个很大的数,大约 12000th 这三个循环在 2DList 上工作。它实际上是一种弗洛伊德算法。在这些大数据上需要时间,你能告诉我如何改进它吗?谢谢(对不起我的英语:))
List<List<int>> distance = new List<List<int>>();
...
for (int i = 0; i < n; i++)
for (int v = 0; v < n; v++)
for (int w = 0; w < n; w++)
{
if (distance[v][i] != int.MaxValue &&
distance[i][w] != int.MaxValue)
{
int d = distance[v][i] + distance[i][w];
if (distance[v][w] > d)
distance[v][w] = d;
}
}