博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉树的层序遍历算法实现
阅读量:6007 次
发布时间:2019-06-20

本文共 946 字,大约阅读时间需要 3 分钟。

一,问题描述

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

 

二,算法分析

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

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

算法步骤:

初始时,根结点入队列

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

 

三,代码实现

1     public void levelTraverse(BinarySearchTree
tree){ 2 levelTraverse(tree.root); 3 } 4 private void levelTraverse(BinaryNode
root){ 5 if(root == null) 6 return; 7 8 Queue
> queue = new LinkedList<>();//层序遍历时保存结点的队列 9 queue.offer(root);//初始化10 while(!queue.isEmpty()){11 BinaryNode
node = queue.poll();12 System.out.print(node.element + " ");//访问节点13 if(node.left != null)14 queue.offer(node.left);15 if(node.right != null)16 queue.offer(node.right);17 }18 }

二叉搜索树的完整实现代码参考:

或者参考:

 

转载地址:http://zkpmx.baihongyu.com/

你可能感兴趣的文章
LNAMP第二版(nginx 1.2.0+apache 2.4.2+php 5.4)
查看>>
MongoDB repl set权限认证配置步骤
查看>>
java学习笔记(1)
查看>>
禁止Mysql默认端口访问Internet - MySQL - IT技术网
查看>>
基于用户投票的排名算法(二):Reddit
查看>>
下午最后的草坪
查看>>
Maven学习总结(七)——eclipse中使用Maven创建Web项目
查看>>
1.部分(苹果)移动端的cookie不支持中文字符,2.从json字符串变为json对象时,只支持对象数组...
查看>>
HDU3257 Hello World!【打印图案+位运算】
查看>>
Node.js 抓取电影天堂新上电影节目单及ftp链接
查看>>
从设计者的角度看 React
查看>>
CSS居中总结大全
查看>>
Elasticsearch 参考指南(安装X-Pack)
查看>>
[LintCode] 604. Design Compressed String Iterator
查看>>
微信小程序黑客马拉松即将开始,来做最酷的 Mini Program Creators!
查看>>
JavaScript基础---函数
查看>>
前端每日实战:120# 视频演示如何用纯 CSS 创作锡纸撕开的文字效果
查看>>
Laravel实用小功能
查看>>
matplotlib绑定到PyQt5(有菜单)
查看>>
利用Powershell和ceye.io实现Windows账户密码回传
查看>>