我应该用什么方法在Java中以并排方式遍历二叉树? [重复]

问题描述 投票:-2回答:1

我已经做了很多关于如何遍历二叉树的研究,我仍然没有找到一种方法来遍历树而不会一直走到它的树叶。我只想一次打印一个二级树,而不是使用按顺序遍历,预订 - 遍历或后序遍历结果。

我想打印:{2,7,5,2,6,null,9,null,null,5,11,4,null}。我可以使用递归来解决这个问题吗?因为看起来我总是最终在一边的叶子,然后我解决了对方的非叶子。

enter image description here

java algorithm binary-tree
1个回答
-1
投票

在伪代码中:

  • 创建节点队列(java中的Deque,例如LinkedList
  • 将根节点放在队列中
  • 虽然队列不是空的 从头部取下一个节点 把孩子放在队列的最后 处理节点

基本上,要先处理广度(这是你想要的),请使用队列。要首先处理深度,请使用堆栈

© www.soinside.com 2019 - 2024. All rights reserved.