Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / mysql

java二叉树的遍历算法代码

作者:王五   发布日期:2023-08-15   浏览:1364

在Java中,二叉树的遍历算法有三种常见的方式:前序遍历、中序遍历和后序遍历。下面是这三种遍历算法的示例代码:

// 二叉树节点类
class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;

    public TreeNode(int val) {
        this.val = val;
    }
}

// 二叉树遍历类
class BinaryTreeTraversal {
    // 前序遍历
    public void preOrderTraversal(TreeNode root) {
        if (root == null) {
            return;
        }
        System.out.print(root.val + " "); // 先访问根节点
        preOrderTraversal(root.left); // 再访问左子树
        preOrderTraversal(root.right); // 最后访问右子树
    }

    // 中序遍历
    public void inOrderTraversal(TreeNode root) {
        if (root == null) {
            return;
        }
        inOrderTraversal(root.left); // 先访问左子树
        System.out.print(root.val + " "); // 再访问根节点
        inOrderTraversal(root.right); // 最后访问右子树
    }

    // 后序遍历
    public void postOrderTraversal(TreeNode root) {
        if (root == null) {
            return;
        }
        postOrderTraversal(root.left); // 先访问左子树
        postOrderTraversal(root.right); // 再访问右子树
        System.out.print(root.val + " "); // 最后访问根节点
    }
}

public class Main {
    public static void main(String[] args) {
        // 构建二叉树
        TreeNode root = new TreeNode(1);
        root.left = new TreeNode(2);
        root.right = new TreeNode(3);
        root.left.left = new TreeNode(4);
        root.left.right = new TreeNode(5);

        BinaryTreeTraversal traversal = new BinaryTreeTraversal();
        System.out.print("前序遍历:");
        traversal.preOrderTraversal(root);
        System.out.println();

        System.out.print("中序遍历:");
        traversal.inOrderTraversal(root);
        System.out.println();

        System.out.print("后序遍历:");
        traversal.postOrderTraversal(root);
        System.out.println();
    }
}

以上代码定义了一个二叉树节点类TreeNode,以及一个二叉树遍历类BinaryTreeTraversal。在BinaryTreeTraversal类中,分别定义了前序遍历、中序遍历和后序遍历的方法。在Main类中,构建了一个二叉树,并调用BinaryTreeTraversal类的遍历方法进行遍历操作。

运行上述代码,输出结果为:

前序遍历:1 2 4 5 3 
中序遍历:4 2 5 1 3 
后序遍历:4 5 2 3 1 

以上代码只是一个简单的示例,实际应用中二叉树的构建和遍历可能更加复杂,可以根据实际需求进行相应的修改和扩展。

下一篇:java平方根用代码怎么实现

大家都在看

java静态代码块有啥用

java平方根用代码怎么实现

java二叉树的遍历算法代码

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站