首页 / 算法 / 【数据结构与算法】二叉树深度遍历(递归)
【数据结构与算法】二叉树深度遍历(递归)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【数据结构与算法】二叉树深度遍历(递归),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2441字,纯文字阅读大概需要4分钟。
内容图文
![【数据结构与算法】二叉树深度遍历(递归)](/upload/InfoBanner/zyjiaocheng/1322/3ebf41e064ae459b99131e470a19aa47.jpg)
二叉树的深度遍历用递归的话就没有什么好说的了。
- 代码实现
/** * 源码名称:TreeIteratorRecursion.java * 日期:2014-08-23 * 程序功能:二叉树深度遍历 * 版权:CopyRight@A2BGeek * 作者:A2BGeek */ public class TreeIteratorRecursion { class TreeNode<T> { private T mNodeData; private TreeNode<T> mLeftChild; private TreeNode<T> mRightChild; public TreeNode(T data, TreeNode<T> left, TreeNode<T> 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<T> getLeft() { return mLeftChild; } public void setLeft(TreeNode<T> left) { mLeftChild = left; } public TreeNode<T> getRight() { return mRightChild; } public void setRight(TreeNode<T> right) { mRightChild = right; } } public TreeNode<String> createTree() { TreeNode<String> h = new TreeNode<String>("h", null, null); TreeNode<String> g = new TreeNode<String>("g", null, null); TreeNode<String> f = new TreeNode<String>("f", null, null); TreeNode<String> e = new TreeNode<String>("e", null, null); TreeNode<String> d = new TreeNode<String>("d", h, null); TreeNode<String> c = new TreeNode<String>("c", f, g); TreeNode<String> b = new TreeNode<String>("b", d, e); TreeNode<String> a = new TreeNode<String>("a", b, c); return a; } public void preIterate(TreeNode<String> root) { if (root == null) { return; } else { System.out.print(root.getData() + " "); preIterate(root.getLeft()); preIterate(root.getRight()); } } public void midIterate(TreeNode<String> root) { if (root == null) { return; } else { midIterate(root.getLeft()); System.out.print(root.getData() + " "); midIterate(root.getRight()); } } public void postIterate(TreeNode<String> 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<String> root = treeIteratorRecursion.createTree(); treeIteratorRecursion.preIterate(root); System.out.println(); treeIteratorRecursion.midIterate(root); System.out.println(); treeIteratorRecursion.postIterate(root); } }
原文:http://blog.csdn.net/a2bgeek/article/details/38779067
内容总结
以上是互联网集市为您收集整理的【数据结构与算法】二叉树深度遍历(递归)全部内容,希望文章能够帮你解决【数据结构与算法】二叉树深度遍历(递归)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。