我写了一棵树,其中每个节点都有他的孩子的列表。所以我的问题是:如何计算树木的层数?谁能给我一些关于这方面的文件?谢谢你:)。
答案 0 :(得分:0)
可以有不同的方法来解决这个问题。一种解决方案可能是使用计数器变量计数节点并递增计数器直到叶节点到达。但你必须照顾
1. Longest Chain
2. Redundancy in couting
其次,如果每个节点都有一个子节点列表,则通过根节点中的此列表计算节点。
一种非常合适的方法是将名称级别的变量定义到 struct node
typedef struct node {
...
Other members
...
int node_level;
} NODE;
并在创建根或任何其他节点时将其初始化为1。然后在每次插入树时更新其值。
通过这样做,您可以在需要查找时查看任何子树的级别。另请注意,每个插入的节点都将具有级别1,并且其祖先将具有更高级别。