c++ - 如何找到一棵树的大小和高度?

标签 c++ data-structures tree

树的大小 = 树中的节点数

树的高度 = 树的最大深度

我正在用 C++ 实现一棵树: 类节点 私有(private)的: 列出 child ; 字符*标签; 整数值;

最佳答案

如果大小是元素的子元素(直接和间接)和元素本身的数量:

int Element::size(){
   if (children.empty())
     return 0;

   size_t size = 0;
   for (const auto &child : children)
      size += child->size();

   size += children.size();

   if (_depth == 0) return size + 1;
   else return size;
}

关于c++ - 如何找到一棵树的大小和高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29591015/

相关文章:

python - python 实现任意树

c++ - 元编程继承限制

c++ - TODO 提醒 constexpr

c# - 创建具有不同数据类型的集合并绑定(bind)到列表

javascript - 如何从数组中过滤特定属性并将其存储到变量中

algorithm - 计算树中的零和路径

c++ - 元程序c++代码

c++ - 调用移动构造函数时

java - 在 O(1) 中获取最小元素的二叉树

python - NLTK以非阻塞方式绘制树