c# - C# 中的链接二维矩阵

标签 c# matrix

我需要在 C# 中实现这个场景:

http://i.stack.imgur.com/Dm6G3.jpg

矩阵会非常大,可能是 10000x10000 或更大。我将在层次聚类算法中将其用于距离矩阵。在算法的每次迭代中,都应更新矩阵(将 2 行合并为 1,将 2 列合并为 1)。如果我使用简单的 double[,] 或 double[][] 矩阵,此操作将非常“昂贵”。 拜托,任何人都可以建议这种情况的 C# 实现吗?

最佳答案

你现在有算法吗?你说的贵是什么意思?内存贵还是时间贵?如果内存昂贵:在 C# 中你无能为力。但是您可以考虑使用临时对象在数据库内部执行计算。如果时间昂贵:您可以使用并行性来连接列和行。

但除此之外,我认为简单的 double[,] 数组是您在 c# 中可以获得的最快且节省内存的方式,因为访问数组值是一个 o(1) 操作,并且数组具有最少的内存和管理开销(与列表和字典相比)。

关于c# - C# 中的链接二维矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4283401/

相关文章:

c# - 缓存 Index 操作方法时防止 MVC 中布局文件的缓存

c# - 检查 3D 点是否位于给定的 3D 线上(两个 3D 点之间)

java - 为坐标对的二维数组返回一维数组的整数索引

matlab - 在 MATLAB 中将一个矩阵与另一个矩阵相加

c# - 如何检测另一个音频是否在后台播放? ( window 电话 7)

c# - C# 中的 VB.NET FormatNumber 等价物?

c# - 在 C# 中展平序列化 XML

python - numpy array 每个元素与矩阵相乘

python - numpy python中的"AttributeError: '矩阵' object has no attribute '等历'"

python - 使用python查找子矩阵中不同元素数量的最佳方法