LabVIEW Map容器——一种高效增减改删的数据结构

       LabVIEW2019推出两种新的数据结构Map和Set,我们这篇文章先聊聊Map容器数据结构。

       Map容器数据结构有“Key”和“Value”两项组成,类似于变体的属性设置方法。Key值在Map数据结构中具有唯一性,具有Key和Value的一对一特性,在编程上提供快速通道。Map容器的内部数据组织,也是一种二叉树结构,其搜索速度是O(log n)。

图片

这里我们注意到“Key”和”Value”支持任意数据类型。

LabVIEW2019之前是没有Map数据类型的,我们要使用类似于这种二叉树的数据结构,只有变体的属性节点(设置属性、读取属性)。

图片

这里设置属性也是name是唯一的(字符串类型),Value支持任意数据类型。

1)数据插入速度比较:

1.1)Map容器插入:运行100000次,运行时间是83ms.

图片

1.2)变体属性插入:运行100000次,运行时间是142ms

图片

对于相同的数据量Map容器的数据插入效率优于变体属性设置的方法。

2. 数据搜索速度对比:

我将原始数组各行拆分搜索,

2.1)Map容器搜索,如下图,50000次搜索,102ms.

图片

2.2)变体属性搜索,如下图,50000次搜索,181ms.

图片

对于相同的数据量Map容器的搜索速度优于变体的属性节点。

3. 数据删除速度对比

3.1)Map容器数据删除 50000次删除,111ms

图片

3.2) 变体属性删除 50000次删除,181ms

图片

删除速度,Map容器的删除速度优于变体属性的删除速度。

通过以上、数据插入、数据搜索、数据删除三个实验,Map容器的速度由于变体属性节点的速度。

除了上述速度优势外,Map函数包还提供了,数据大小、最大值最小值等函数。在同址操作框图上也也增加了Map容器数据类型的搜索。

图片

总结:

LabVIEW2019版本推出的Map容器数据结构,提供了key与value的一一对应的树形数据结构,其效率优于变体的属性设置方法。大家可以在写程序时灵活运用。

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/221861.html

(0)
联系我们
联系我们
分享本页
返回顶部