【问题标题】:c++ library useful for making trees用于制作树的 c++ 库
【发布时间】:2013-08-02 03:52:33
【问题描述】:

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

谢谢

【问题讨论】:

  • 如果你不知道一个节点有多少个子节点,那么存储在连续内存中至少会变得困难。
  • 看看this answer
  • 是的,我知道这是个问题。这只是我正在寻找实现树的好方法的一个例子。当然,我更喜欢有用的库或现有的类。 tnx
  • 谢谢,那个帖子似乎回答了我的问题

标签: c++ tree


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    n 叉树 C++ 的快速 google" 刚刚出现 treetree

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

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

    【讨论】:

      猜你喜欢
      • 2020-08-24
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 2011-05-24
      • 1970-01-01
      相关资源
      最近更新 更多