计算树深度Java数据结构

时间:2016-05-17 15:47:09

标签: java

我正在处理我的java分配,其中我从java数据结构中提出了一个问题:

问题是: 如果节点总数为20,则查找树的深度。

我怎样才能找到这个?有人可以帮帮我吗?

3 个答案:

答案 0 :(得分:2)

在找到树的深度之前需要的输入:

  1. 节点的根节点和结构。它是二叉树(或N-ary 树)?
  2. 节点总数(n),以及树是K-ary完整树(深度= ⌊logk(n)⌋)还是全树(深度= <强>的logK(n)的)?
  3. 在第一种情况下,您可以使用DFS遍历叶子并找到树的深度(即从根到叶子的最长路径的长度)。

    在第二种情况下,这只是一项数学工作。

答案 1 :(得分:1)

不知道有关此课程的相关课程或课程的任何详细信息。遍历树和计算深度将是基本答案。这是一个相关的主题。

How to calculate the depth of a binary search tree

答案 2 :(得分:1)

是的,这是非常常见的话题。

我想,你的情况你的树型可能是二叉树,二叉树有固定的节点结构。正如您在下面看到的1,2,4,8,16         *
       * *
    * * * *
在您的情况下,您的树深度将为5.我希望您可以编写许多逻辑之一。一个简单的逻辑是找到输入数字的二进制表示。对于20,它是10100.二进制表示的长度是二叉树的长度。