我写了一棵树,其中每个节点都有一个子节点列表。所以我的问题是:如何计算树的层数?谁能给我一些关于此的文档?谢谢你:)。
最佳答案
可以采用不同的方法来解决此问题。一种解决方案可能是使用计数器变量对节点进行计数,并增加计数器直到到达叶节点。但你必须照顾好
1. Longest Chain
2. Redundancy in couting
其次,如果每个节点都有一个子节点列表,则通过该列表对根节点中存在的节点进行计数。
一个非常合适的方法是在结构节点中按名称Level定义一个变量
typedef struct node {
...
Other members
...
int node_level;
} NODE;
并在创建根或任何其他节点时将其初始化为 1。然后在每次插入树时更新其值。
通过这样做,您可以在需要查找时查看任何子树的级别。另请注意,每个插入的节点将具有级别 1,并且其祖先将具有更高的级别。
关于c - 树的层数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37206438/