C 树级别数

C 树级别数,c,tree,C,Tree,我写了一棵树,其中每个节点都有其子节点的列表。所以我的问题是:如何计算我的树的层数?有人能给我一些关于这个的文件吗?。谢谢:)。解决这个问题可能有不同的方法。一种解决方案可能类似于使用计数器变量对节点进行计数,并递增计数器,直到叶节点到达。但是你必须照顾好自己 1. Longest Chain 2. Redundancy in couting 其次,如果每个节点都有一个子节点列表,则通过根节点中的列表对节点进行计数 一种非常合适的方法是在结构节点中定义一个名为Level的变量 typedef

我写了一棵树,其中每个节点都有其子节点的列表。所以我的问题是:如何计算我的树的层数?有人能给我一些关于这个的文件吗?。谢谢:)。

解决这个问题可能有不同的方法。一种解决方案可能类似于使用计数器变量对节点进行计数,并递增计数器,直到叶节点到达。但是你必须照顾好自己

1. Longest Chain
2. Redundancy in couting
其次,如果每个节点都有一个子节点列表,则通过根节点中的列表对节点进行计数

一种非常合适的方法是在结构节点中定义一个名为Level的变量

typedef struct node {
...
Other members
...
int node_level;
} NODE;
并在创建根节点或任何其他节点时将其初始化为1。然后在每次插入到树中时更新其值


通过这样做,您可以在需要查找时查看任何子树的级别。还要注意,每个插入的节点都有一个级别1,其祖先节点的级别更高

你试了什么?你有一些代码吗?请先发布你的代码。通过计算级别数,你是指所有级别的深度、平均深度、循环时的深度还是每个孩子的深度?你需要更具体一些我不知道怎么做:)。如果它是一棵二叉树,那么计算层数就很容易了。我只想看看树的深度是多少。