加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 20:23:44 所属栏目:PHP教程 来源:网络整理
导读:package tree.binarytree;import java.util.Stack;/** * 2叉树的中序遍历:递归与非递归实现 * * @author wl * */public class BiTreeInOrder {// 中序遍历的递归实现public static void biTreeInOrderByRecursion(BiTreeNode root) {if (root == null) {ret
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; } } } }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读