2

我想在我的程序中使用词汇树(不一定是二进制的),并且我已经对如何创建树类有了一个大致的了解,但我想知道是否有任何 C++ 库对此有用。如果不是,我想知道我可以用来更快地管理我的树的方法(添加/删除/访问节点),比如将它们存储在连续的内存位置。

谢谢你

4

2 回答 2

2

您可以使用Boost Graph Library对各种树进行建模。

于 2013-07-25T08:40:27.803 回答
2

虽然std::mapstd::set在 oleskii 的链接中被提及,但它们是二叉树。任何n 元树都可以重新排列为二叉树,但这可能对您没有帮助,因为重新组织需要时间。boost 图形库更通用。

N-ary Trees C++ 的快速谷歌”刚刚出现treetree

“Treetree 是一个只有头文件的 C++ 库,它根据 STL 约定实现了一个通用的树结构容器类”

如果你想让你当前的树实现更快,你应该测量它当前慢的地方。
检查简单的事情,例如确保您通过引用而不是通过副本。

于 2013-07-25T08:41:51.897 回答