首页 > 代码库 > Java数据结构系列之——树(4):二叉树的中序遍历的递归与非递归实现
Java数据结构系列之——树(4):二叉树的中序遍历的递归与非递归实现
package tree.binarytree; import java.util.Stack; /** * 二叉树的中序遍历:递归与非递归实现 * * @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>();// 栈,用于存放二叉树的结点 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; } } } }
Java数据结构系列之——树(4):二叉树的中序遍历的递归与非递归实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。