nedtries的作者是什么意思“就地”?

前端之家收集整理的这篇文章主要介绍了nedtries的作者是什么意思“就地”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
I.刚刚实现了一种按位trie(基于nedtries),但我的代码做了很多
内存分配(对于每个节点).
与我的实施相反,在其他事物中,nedtries声称速度很快,
因为它们的内存分配数量很少(如果有的话).
作者声称他的实施是“就地”的,但在这种情况下它的真正含义是什么?
nedtries如何实现如此少量的动态内存分配?

Ps:我知道源代码可用,但代码很难遵循,我无法弄清楚它是如何工作的

解决方法

我看了一下nedtrie.h源代码.
它似乎是“就地”的原因是你必须将trie簿记数据添加到你想要存储的项目中.

您使用NEDTRIE_ENTRY宏将父/子/下一个/上一个链接添加到您的数据结构,然后您可以将该数据结构传递给各种trie例程,这些例程将提取并使用这些添加的成员.

因此,它是“就地”的,因为您可以扩充现有的数据结构和trie代码.

至少那是它的样子.该代码中有很多宏观优点,所以我可能会让自己感到困惑(:

猜你在找的C&C++相关文章