vb.net-将一维数组插入到二维数组中

蓝盒

我正在研究一种优化算法,需要将一些数据(由算法生成)存储在一个名为的二维数组中matrix,其中row(i)包含适应度得分和优化矢量(i)的参数值。

Dim matrix(vectorCount() - 1, parameterCount()) As Double
Dim params(parameterCount() - 1) As Double

For i As Integer = 0 To vectorCount() - 1
    matrix(i, 0) = vectorScore(i)
    params = vectorValues(i)
    For j As Integer = 0 To params.Length - 1
        matrix(i, j+1) = params(j)
    Next
Next

intvectorCount()返回向量的数量。
intparameterCount()返回每个向量中的参数数量。
double vectorScore(intvectorIndex)返回指定向量的适应度得分。
double [] vectorValues(intvectorIndex)返回指定向量的参数值。

我的问题:
是否有快速的(即更有效)的方式插入paramsmatrix

瓦罗卡巴

如果您想提高效率,那么毫无疑问,依靠“纯”数组是最好的选择。它们相对于其他选择(集合,列表等)如此高效的原因是,因为它们包含所需的最少信息量。如果您希望使用高级功能来轻松/快速地对信息进行排序,或者编写复杂的查询来检索数据,则不应依赖数组。

我一直都依赖于您编写的代码,并且从未遇到速度问题(这确实非常快)。我进行了快速研究,以确保没有其他选择,但找不到任何选择。您拥有的最接近的东西是Array.Copy,尽管它仅在数组具有相同的尺寸时才起作用(我个人而言,仅将其与一维数组一起使用)。无论如何,我发现了一个有趣的链接,关于Array.Copy()与2D数组的循环性能(在C#中,但所有内容都适用于VB.NET)。

简介:您的代码确实非常快,不需要改进。如果有一个有效的替代方案(Array.Copy适用于2D和1D,不存在),则性能会好一点(并且仅适用于较小的阵列)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

VB 的二维字符串数组到 C# ASP.NET

来自分类Dev

VB.net如何访问二维数组中的行?

来自分类Dev

VB.NET 二维集合?

来自分类Dev

VB.NET错误使用数据库字段填充二维数组

来自分类Dev

VB.NET错误使用数据库字段填充二维数组

来自分类Dev

VB获取整行到二维数组

来自分类Dev

将一维数组的元素插入到二维数组中的特定位置

来自分类Dev

VB.net 2维数组,包含来自列表的数据

来自分类Dev

VB.NET - 索引数小于索引数组的维数

来自分类Dev

C#到VB.net-2维数组的语法问题

来自分类Dev

检查值是否存在于二维选项卡(数组,vb)中

来自分类Dev

将数据插入到二维byte []数组中

来自分类Dev

二维阵列VB

来自分类Dev

将二维数组字符串解析为.net

来自分类Dev

将一维数组存储到二维

来自分类Dev

图像数组VB.NET

来自分类Dev

VB.Net MaskedTextBox 数组

来自分类Dev

将数组从VBA传递到VB.NET

来自分类Dev

将二维数组的元素复制到另一个二维数组中

来自分类Dev

vb.net中的常量共享数组

来自分类Dev

在VB.NET中访问数组

来自分类Dev

vb.net中的数组循环

来自分类Dev

将正确的对象数组与vb.net中的另一个对象数组链接

来自分类Dev

一维数组到二维数组的列表

来自分类Dev

一维数组到二维数组的映射

来自分类Dev

在VB.Net中,如何将数组写入Excel

来自分类Dev

数组差异,将一维数组与二维二维数组进行比较

来自分类Dev

将数组列表从vb6传递到vb.net对象

来自分类Dev

将一维数组转换为二维数组