我需要在 C# 中实现这个场景:
矩阵会非常大,可能是 10000x10000 或更大。我将在层次聚类算法中将其用于距离矩阵。在算法的每次迭代中,都应更新矩阵(将 2 行合并为 1,将 2 列合并为 1)。如果我使用简单的 double[,] 或 double[][] 矩阵,此操作将非常“昂贵”。 拜托,任何人都可以建议这种情况的 C# 实现吗?
最佳答案
你现在有算法吗?你说的贵是什么意思?内存贵还是时间贵?如果内存昂贵:在 C# 中你无能为力。但是您可以考虑使用临时对象在数据库内部执行计算。如果时间昂贵:您可以使用并行性来连接列和行。
但除此之外,我认为简单的 double[,]
数组是您在 c# 中可以获得的最快且节省内存的方式,因为访问数组值是一个 o(1) 操作,并且数组具有最少的内存和管理开销(与列表和字典相比)。
关于c# - C# 中的链接二维矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4283401/