微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用深度的树的高度

如何解决使用深度的树的高度

| 大家好 关于计算使用函数深度获取树的高度的函数高度的时间复杂度,我需要一些指导。 所以功能是这样的:
height(Tree)
height h = 0;
for(each external node of T)
 h = max(height,getdepth(external node));
该算法的最坏情况是每个节点处于同一级别? 在这种情况下,由于所有节点都将具有相同的高度-n *(n-some_i)= n ^ 2?,我们最终会对所有外部节点执行相同的操作。 但是以这种方式思考-当树左右左右不平衡时, 复杂度将是1 + 2 + 3 + 4 ... + n = n ^ 2吗? 我有点困惑。这是思考这个问题的正确方法吗? 谢谢

解决方法

您最好从根开始,然后对树进行递归遍历,并在跟踪时跟踪当前深度和最大深度。这样,您只需要遍历树一次。如果单独计算每个节点的深度,最终将遍历树N次,其中N是外部节点的数量。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。