用于制作树木的c ++库

时间:2013-07-25 08:30:46

标签: c++ tree

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

谢谢

2 个答案:

答案 0 :(得分:2)

您可以使用The Boost Graph Library为各种树木建模。

答案 1 :(得分:2)

虽然在oleskii的link中提及std::mapstd::set,但它们是二叉树。任何n-ary tree can be rearranged to a binary tree,但这可能对您没有帮助,因为重新组织需要时间。 boost图库更通用。

快速google for n-ary trees C ++“刚出现treetree

  

“Treetree是一个仅用于标头的C ++库,它实现了泛型   根据STL惯例“

的树结构容器类

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