Java 如何打印树的所有节点?

Java 如何打印树的所有节点?,java,recursion,binary-tree,Java,Recursion,Binary Tree,所以,我不会为我的问题提供代码,因为我对理论解更感兴趣 我有一个二叉树,希望以这样的顺序打印所有节点的ID-s:首先打印高度为0的节点,打印高度为1的节点多于2个,打印高度为2的节点多于4个,依此类推。树的父节点和子节点通过指针连接,相同高度的节点不连接。并非所有父亲都有2个儿子(有些可能只有1个儿子) 理论上,我可以用什么方法打印这棵树?它是通过递归实现的吗 您正在寻找的可能是广度优先搜索。实现这一点的一种简单方法是创建一个全局队列,并在遍历树时向其中添加节点以进行搜索。如果它是一个有限树,那

所以,我不会为我的问题提供代码,因为我对理论解更感兴趣

我有一个二叉树,希望以这样的顺序打印所有节点的ID-s:首先打印高度为0的节点,打印高度为1的节点多于2个,打印高度为2的节点多于4个,依此类推。树的父节点和子节点通过指针连接,相同高度的节点不连接。并非所有父亲都有2个儿子(有些可能只有1个儿子)


理论上,我可以用什么方法打印这棵树?它是通过递归实现的吗

您正在寻找的可能是广度优先搜索。实现这一点的一种简单方法是创建一个全局队列,并在遍历树时向其中添加节点以进行搜索。如果它是一个有限树,那么一旦搜索了队列中的所有节点,就可以完成此操作。

您需要执行级别顺序遍历。你的问题正是如此。

这个问题对于这个网站来说太广泛了,不能用几个短段落来回答。特别是当你需要考虑不同数量的孩子和可能非常宽的树木时。我可以用几种方法来做,每种方法都有利弊,我建议用当前结构的一些更有价值的细节来补充这个问题,以及你想要考虑的结果。你尝试应用BFS遍历算法吗?它使用队列数据结构。-它将以智能方式遍历树级别。我建议你在公共论坛上提问之前做一些研究。