国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > Java数据结构系列之――树(4):二叉树的中序遍历的递归与非递归实现

Java数据结构系列之――树(4):二叉树的中序遍历的递归与非递归实现

来源:程序员人生   发布时间:2014-12-22 08:36:22 阅读次数:2212次
package tree.binarytree; import java.util.Stack; /** * 2叉树的中序遍历:递归与非递归实现 * * @author wl * */ public class BiTreeInOrder { // 中序遍历的递归实现 public static void biTreeInOrderByRecursion(BiTreeNode root) { if (root == null) { return; } biTreeInOrderByRecursion(root.leftNode); System.out.println(root.data); biTreeInOrderByRecursion(root.rightNode); } // 中序遍历的非递归实现 public static void biTreeInOrder(BiTreeNode root) { Stack<BiTreeNode> stack = new Stack<BiTreeNode>();// 栈,用于寄存2叉树的结点 BiTreeNode current = root;// 当前结点 while (current != null || !stack.empty()) { while (current != null) { stack.push(current); current = current.leftNode; } if (!stack.empty()) { current = stack.pop(); System.out.println(current.data); current = current.rightNode; } } } }

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生