本文实例为大家分享了java实现按层遍历二叉树,按层遍历二叉树可以通过队列来实现。其主要思路如下:
1时,先将根节点放入队列中
2,每次都从队列中取出一个结点打印该结点的值
3,若这个结点有子结点,则将它的子结点放入队列尾,知道队列为空。
实现代码如下:
进口java.util.LinkedList; 进口java.util.Queue; 公开课LayerTranverse {//按层遍历二叉树 公共静态void main (String [] args) { BinaryTree1 biTree1=new BinaryTree1 (); int [] data=https://www.yisu.com/zixun/{2, 8, 7、4、9、3、1、6、5}; biTree1.buildTree1(数据); biTree1.layerTranverse (); } } 类Node1 { 公共int数据; 公共Node1离开; 公共Node1权; 公共Node1 (int数据){ this.data=数据; this.left=零; this.right=零; } } 类BinaryTree1 { 私人Node1根; 公共BinaryTree1 () { 根=零; }//将数据数据插入到排序的二叉树中 公共空间insert1 (int数据){ Node1 newNode1=new Node1(数据); 如果(root==null) { 根=newNode1; 其他}{ Node1电流=根; Node1父母; 而(真){ 父母=当前; 如果(数据q=new LinkedList (); q.add (this.root); 而(! q.isEmpty ()) { Node1 n=q.poll (); System.out.print (n.data); system . out。打印(" "); 如果(n.left !=null) { q.add (n.left); } 如果(n.right !=null) { q.add (n.right); } } } } >之前 运行结果为:
2 1 9 8 7 4 3 6 5,
引用>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
java实现按层遍历二叉树