通过循环错误练习反复检查整个脚本字典? VB6

时间:2016-06-10 17:24:06

标签: vba loops dictionary optimization vb6

我有一个循环来检查值,如果它们不存在则将它们添加到字典中。此检查发生在循环内部,因此反复发生。随着字典的增长,我想有一个内部循环正在进行,每次检查都变得昂贵。为了加快我的整个日常工作,我想知道这是否应该是我应该优化的东西?如果是这样,怎么样?

  keycnt = 1
  For x = 1 to 500000
  STRVAL = returnarray(8, x)
            If Not STRDIC.Exists(STRVAL) Then
               STRDIC.Add STRVAL, keycnt
               keycnt = keycnt + 1
            End If
  next x

1 个答案:

答案 0 :(得分:4)

如果你的字典是Scripting.Dictionary而不是某些[实现不当]的自定义数据结构类,那么键查找应该是 O(1) 复杂性,而不是 O(n) ,因为您似乎暗示;越来越多的密钥对性能没有影响。

哈希表或字典中的键查找基本上是免费的,在该代码中唯一要修复的是缩进。