二叉树的按层遍历

简介: 二叉树的按层遍历

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

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========");
  }
}
相关文章
|
5月前
|
存储 算法
深度优先搜索遍历与广度优先搜索遍历
深度优先搜索遍历与广度优先搜索遍历
46 3
|
11月前
【霍罗维兹数据结构】二叉树前中后序遍历 | 层序遍历 | 复制二叉树 | 判断两个二叉树全等 | 可满足性问题
【霍罗维兹数据结构】二叉树前中后序遍历 | 层序遍历 | 复制二叉树 | 判断两个二叉树全等 | 可满足性问题
69 0
|
存储 算法
二叉树的创建和遍历
二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个节点最多只能有两棵子树,且有左右之分
89 0
|
存储 算法
二叉树的三序遍历
简要介绍二叉树的三序遍历和重构和代码实现。
二叉树四种遍历的实现
二叉树四种遍历的实现
98 0
二叉树的实现(前中后层序四种遍历)
二叉树的实现(前中后层序四种遍历)
52 0
|
机器学习/深度学习 C++ 容器
二叉树创建和遍历(C++实现)
树(Tree)是n(n≥0)个节点的有限集。在任意一棵树中有且仅有一个特定的称为根(Root)的节点;当n>1时,其余节点可分m(m>0)为个互不相交的有限集T1,T2,...,Tm;其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。 二叉树(Binary Tree)是一种特殊的有序树型结构,所有节点最多只有2棵子树。
627 0
二叉树的三种遍历方式
二叉树的三种遍历方式
221 0
二叉树的三种遍历方式
|
算法 Python
LeetCode 987. 二叉树的垂序遍历
给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列。
95 0