二叉树的按层遍历

简介: 二叉树的按层遍历

二叉树的按层遍历其实就是宽度优先遍历,使用队列,比较简单,直接上代码

package com.harrison.class07;
import java.util.LinkedList;
import java.util.Queue;
public class Code03_LevelTraversalBT {
  public static class Node{
    public int value;
    public Node left;
    public Node right;
    public Node(int v) {
      value=v;
    }
  }
  public static void level(Node head) {
    if(head==null) {
      return ;
    }
    Queue<Node> queue=new LinkedList<>();
    queue.add(head);
    while(!queue.isEmpty()) {
      Node cur=queue.poll();
      System.out.print(cur.value+" ");
      if(cur.left!=null) {
        queue.add(cur.left);
      }
      if(cur.right!=null) {
        queue.add(cur.right);
      }
    }
  }
  public static void main(String[] args) {
    Node head = new Node(1);
    head.left = new Node(2);
    head.right = new Node(3);
    head.left.left = new Node(4);
    head.left.right = new Node(5);
    head.right.left = new Node(6);
    head.right.right = new Node(7);
    level(head);
    System.out.println("\n========");
  }
}
相关文章
|
7月前
|
机器学习/深度学习 C++
初阶数据结构之---二叉树链式结构(二叉树的构建,二叉树的前序,中序,后序和层序遍历,计算二叉树结点个数,第k层结点个数,叶子结点个数,判断是否为完全二叉树)
初阶数据结构之---二叉树链式结构(二叉树的构建,二叉树的前序,中序,后序和层序遍历,计算二叉树结点个数,第k层结点个数,叶子结点个数,判断是否为完全二叉树)
|
存储 算法
二叉树的创建和遍历
二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个节点最多只能有两棵子树,且有左右之分
94 0
|
存储 算法
二叉树的三序遍历
简要介绍二叉树的三序遍历和重构和代码实现。
102 0
二叉树的实现(前中后层序四种遍历)
二叉树的实现(前中后层序四种遍历)
55 0
二叉树四种遍历的实现
二叉树四种遍历的实现
100 0
|
机器学习/深度学习 C++ 容器
二叉树创建和遍历(C++实现)
树(Tree)是n(n≥0)个节点的有限集。在任意一棵树中有且仅有一个特定的称为根(Root)的节点;当n>1时,其余节点可分m(m>0)为个互不相交的有限集T1,T2,...,Tm;其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。 二叉树(Binary Tree)是一种特殊的有序树型结构,所有节点最多只有2棵子树。
684 0
二叉树的三种遍历方式
二叉树的三种遍历方式
235 0
二叉树的三种遍历方式
|
算法 Python
LeetCode 987. 二叉树的垂序遍历
给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列。
100 0
|
iOS开发
二叉树非递归前中后遍历
因为个人身体原因,本周都在医院住院治疗身体,身边没有电脑,只能分享一些这周看过的比较好的书籍内容。iPad上传csdn图片顺序会有误,看书的页码就好。
二叉树非递归前中后遍历