美文网首页
二叉树的层序遍历算法实现

二叉树的层序遍历算法实现

作者: robin2005 | 来源:发表于2018-12-24 09:55 被阅读0次

一,问题描述

实现二叉树的层序遍历--从根开始,依次向下,对于每一层从左向右遍历。

二,算法分析

层序遍历与先序、中序、后序遍历不同。层序遍历用到了队列,而先、中、后序需要用到栈。

因此,先、中、后序遍历 可以 采用递归方式来实现,而层序遍历则没有递归方式。

算法步骤:

初始时,根结点入队列

然后,while循环判断队列不空时,弹出一个结点,访问它,并把它的所有孩子结点入队列。

三,代码实现

public void levelTraverse(BinarySearchTree<T> tree){

        levelTraverse(tree.root);

    }

    private void levelTraverse(BinaryNode<T> root){

        if(root == null)

            return;

        Queue<BinaryNode<T>> queue = new LinkedList<>();//层序遍历时保存结点的队列

        queue.offer(root);//初始化

        while(!queue.isEmpty()){

            BinaryNode<T> node = queue.poll();

            System.out.print(node.element + " ");//访问节点

            if(node.left != null)

                queue.offer(node.left);

            if(node.right != null)

                queue.offer(node.right);

        }

    }

相关文章

  • 二叉树的层序遍历算法实现

    一,问题描述 实现二叉树的层序遍历--从根开始,依次向下,对于每一层从左向右遍历。 二,算法分析 层序遍历与先序、...

  • ALI 算法

    二叉树遍历算法: 按层遍历, 中序前序后序:

  • 算法小结

    算法小结 1 二叉树 定义树节点形式 1.1 层序遍历 语义解析:层序遍历指的是二叉树根据层级进行遍历。 利用队列...

  • 二叉树的遍历

    二叉树的遍历 二叉树常用的遍历方式有:前序遍历、中序遍历、后序遍历、层序遍历四种遍历方式,不同的遍历算法,其思想略...

  • 二叉树遍历-JAVA实现

    基础二叉树 二叉树遍历分为前序、中序、后序递归和非递归遍历、还有层序遍历。 前序递归遍历算法:访问根结点-->递归...

  • 二叉树遍历算法

    二叉树遍历算法有4种,先序、中序、后序和层序遍历 先序遍历:先根、后左、再右中序遍历:先左、后根、再右后序遍历:先...

  • 数据结构与算法图的遍历与图的应用

    1.广度优先搜索BFS类似于二叉树的层序遍历算法利用队列实现搜索 2.深度优先搜索DFS类似于树的先序遍历。搜索策...

  • 深入浅出二叉树遍历的非递归算法 2019-11-15(未经允许,

    1、二叉树遍历的递归算法 递归实现二叉树的遍历非常直观,回顾一下递归的代码: 前序遍历 中序遍历 后序遍历 他们的...

  • 面试题

    面试题 二叉树 非递归实现二叉树遍历 节点: 前序遍历 中序遍历 后序遍历 排序 快速排序 其他问题 算法题 给一...

  • 2018-11-19

    今天在电脑上用c语言实现了二叉树的创建,并且采用递归算法的形式进行二叉树的先序遍历和中序遍历以及后序遍历。

网友评论

      本文标题:二叉树的层序遍历算法实现

      本文链接:https://www.haomeiwen.com/subject/lqeakqtx.html