我期待实现VBA 特里路技术算法,该算法能够处理的时间(小于15-20秒)相对较短量大幅英语词汇(〜50,000字).由于我是一名C++程序员(这是我第一次做任何实质性的VBA工作),我构建了一个快速概念验证程序,能够在大约半秒钟内完成计算机上的任务.然而,当测试VBA端口的时候,它花了差不多两分钟来做同样的事情 - 为了我的目的,这是一个不可接受的长时间.VBA代码如下:
节点类模块:
Public letter As String
Public next_nodes As New Collection
Public is_word As Boolean
Run Code Online (Sandbox Code Playgroud)
主要模块:
Dim tree As Node
Sub build_trie()
Set tree = New Node
Dim file, a, b, c As Integer
Dim current As Node
Dim wordlist As Collection
Set wordlist = New Collection
file = FreeFile
Open "C:\corncob_caps.txt" For Input As file
Do While Not EOF(file)
Dim line As String
Line Input #file, line
wordlist.add line
Loop
For a = 1 To …Run Code Online (Sandbox Code Playgroud) 因此,VB6中的集合会跟踪每个对象的键,您可以通过其键查找对象.
这是否意味着集合被实现为某种哈希表?我意识到你可以在一个集合中拥有多个具有相同键的项目,因此有些东西.
有谁知道VB6集合应该代表什么类型的数据结构?
我想在VBA for Excel中实现"Stack"类.我想使用Last In First Out结构.以前有人遇到过这个问题吗?你知道外部库处理结构,如Stack,Hastable,Vector ......(除了原始的Excel Collection等...)
谢谢