gpt4 book ai didi

java - 遍历树数据结构,在一个循环中找到它的高度和计数元素

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:30:52 25 4
gpt4 key购买 nike

我有一个树结构。

class Element {
private List<Element> children;
}

Element treeStructure = produceSomeTreeStructure();
//How to get its height and number of elements.

直接的解决方案是制作两个循环。首先我可以找到节点数

A question on getting number of nodes in a Binary Tree(将此算法更改为非二叉树),

第二个循环获取树的高度 http://www.geeksforgeeks.org/iterative-method-to-find-height-of-binary-tree/

同样,将此算法应用于非二叉树。

我的问题是,如何一次完成此操作。将结果保存在全局变量中对我来说是可以接受的。

最佳答案

如果您想知道节点数,则需要探索整棵树。最简单的方法是使用深度优先搜索,即边走边计算节点数。

深度优先搜索算法还可以很容易地计算出当前正在探索的深度,以及总体上达到的最大深度。修改深度优先搜索算法以将这两个作为参数。

如果您以递归方式对其进行编码(最简单),则每次进行递归调用时只需将深度参数加一即可。如果这为您提供的数字大于您跟踪的最大值,则将最大值更新为当前深度。

关于java - 遍历树数据结构,在一个循环中找到它的高度和计数元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38764816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com