1
我正在使用Maple中的大量数据,我需要知道存储它的最有效的方法。我从列表开始,但很快我就知道自从替换它们以来,效率低下了。现在我使用数组(对于具有固定长度的结构)和表(对于具有可变长度的结构)的混合,但是我的代码实际上比我仅使用列表时慢得多。Maple中的高效数据结构
因此,这里是我的问题:
- 什么是枫树用于静态长度集数据的最有效的数据结构?对于一个可变长度集?
- 当在递归过程中使用这些结构作为参数时,我需要注意哪些“陷阱”?如果使用数组或表,每个迭代是否需要复制每个迭代以避免破坏数据?
你是什么意思的效率?添加数据还是选择? – nafas
我有一些数据结构,我只需要初始化,然后引用后修改或不修改(我目前正在使用这些数组),和其他结构,我需要能够添加,删除和修改条目(目前使用这些表格)。对效率的需求来自这样的事实,即这些修改/添加/等都发生在嵌套for循环和递归procs中。 – SonOfHans
我建议您在www.mapleprimes.com上发布您的问题和代码(列表版本和阵列/表格版本)。如果您一次添加一个(或几个)元素,则列表效率不高。数组可以非常有效地拉伸(可变长度)。我不认为他们可以缩小。回答您的问题最重要的因素可能是您是否需要一次一个地将数据添加到结构中。 –