博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【数据结构与算法】二叉树深度遍历(递归)
阅读量:7042 次
发布时间:2019-06-28

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

二叉树的深度遍历用递归的话就没有什么好说的了。

  • 代码实现

/** * 源代码名称:TreeIteratorRecursion.java  * 日期:2014-08-23  * 程序功能:二叉树深度遍历  * 版权:CopyRight@A2BGeek  * 作者:A2BGeek */public class TreeIteratorRecursion {	class TreeNode
{ private T mNodeData; private TreeNode
mLeftChild; private TreeNode
mRightChild; public TreeNode(T data, TreeNode
left, TreeNode
right) { // TODO Auto-generated constructor stub mNodeData = data; mLeftChild = left; mRightChild = right; } public T getData() { return mNodeData; } public void setData(T data) { mNodeData = data; } public TreeNode
getLeft() { return mLeftChild; } public void setLeft(TreeNode
left) { mLeftChild = left; } public TreeNode
getRight() { return mRightChild; } public void setRight(TreeNode
right) { mRightChild = right; } } public TreeNode
createTree() { TreeNode
h = new TreeNode
("h", null, null); TreeNode
g = new TreeNode
("g", null, null); TreeNode
f = new TreeNode
("f", null, null); TreeNode
e = new TreeNode
("e", null, null); TreeNode
d = new TreeNode
("d", h, null); TreeNode
c = new TreeNode
("c", f, g); TreeNode
b = new TreeNode
("b", d, e); TreeNode
a = new TreeNode
("a", b, c); return a; } public void preIterate(TreeNode
root) { if (root == null) { return; } else { System.out.print(root.getData() + " "); preIterate(root.getLeft()); preIterate(root.getRight()); } } public void midIterate(TreeNode
root) { if (root == null) { return; } else { midIterate(root.getLeft()); System.out.print(root.getData() + " "); midIterate(root.getRight()); } } public void postIterate(TreeNode
root) { if (root == null) { return; } else { postIterate(root.getLeft()); postIterate(root.getRight()); System.out.print(root.getData() + " "); } } public static void main(String[] args) { TreeIteratorRecursion treeIteratorRecursion = new TreeIteratorRecursion(); TreeNode
root = treeIteratorRecursion.createTree(); treeIteratorRecursion.preIterate(root); System.out.println(); treeIteratorRecursion.midIterate(root); System.out.println(); treeIteratorRecursion.postIterate(root); }}

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

你可能感兴趣的文章
3n+1猜想
查看>>
【机器学习笔记一】协同过滤算法 - ALS
查看>>
数组,冒泡排序
查看>>
[洛谷] P1803 凌乱的yyy / 线段覆盖 (贪心)
查看>>
从客户端中检测到有潜在危险的 Request.Form 值。
查看>>
可移动,可放大的图片查看功能
查看>>
PHP GZ压缩与解压
查看>>
Silverlight 结构分析
查看>>
table中文字溢出时用省略号表示
查看>>
免费的数据分析,数据可视化平台
查看>>
jQuery学习(二)
查看>>
sql 日期格式汇总
查看>>
程序员的修养 -- 如何写日志(logging)
查看>>
[Splay]Luogu 3960 NOIP2017 列队
查看>>
android四大组件之Service 电话录音
查看>>
NSThead的进阶使用和简单探讨
查看>>
网络流——最大流问题例题
查看>>
instanceof 操作符实现原理解析
查看>>
WebApi 返回小驼峰式 json 格式,并格式化日期
查看>>
阿里云日志api创建logStore
查看>>