栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

算法——中序遍历二叉树(递归)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

算法——中序遍历二叉树(递归)


【1】正确序列:

应该为2-1-3-4


【2】代码:
  • 树节点:
public class TreeNode {
    int no;
    String name;
    TreeNode left;
    TreeNode right;

    public TreeNode(int no, String name) {
        this.no = no;
        this.name = name;
    }

    @Override
    public String toString() {
        return "{" + "no=" + no + ", name='" + name + ''' + '}';
    }
}

  • 二叉树
public class BinaryTree {
    //二叉树根节点
    TreeNode head;

    public BinaryTree(TreeNode head) {
        this.head = head;
    }
}

  • 中序遍历算法:
public class MidOrder {
    public static void main(String[] args) {
        TreeNode head = new TreeNode(1, "宋江");
        TreeNode node2 = new TreeNode(2, "吴用");
        TreeNode node3 = new TreeNode(3, "卢俊");
        TreeNode node4 = new TreeNode(4, "林冲");
        head.left = node2;
        head.right = node3;
        node3.right = node4;
        BinaryTree bt = new BinaryTree(head);
        mid(bt);
    }

    public static void mid(BinaryTree bt) {
        if (bt.head == null) {
            System.out.println("二叉树为空!");
            return;
        }
        //调用遍历算法
        order(bt.head);
    }

    public static void order(TreeNode node) {

        //左递归
        if (node.left != null)
            order(node.left);

        //打印二叉树
        System.out.println(node);

        //右递归
        if (node.right != null)
            order(node.right);
    }
}

【3】测试:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/306442.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号