21xrx.com
2024-12-22 21:06:11 Sunday
登录
文章检索 我的文章 写文章
——用Java实现二叉树的遍历
2023-06-16 16:26:35 深夜i     --     --
Java开发 二叉树 遍历

二叉树是一种重要的数据结构,在Java开发中也经常用到。本文将介绍如何使用Java实现二叉树的遍历,包括前序遍历、中序遍历和后序遍历。代码案例如下:


class TreeNode {

  int val;

  TreeNode left;

  TreeNode right;

  TreeNode(int x) val = x;

}

public class BinaryTreeTraversal {

  //前序遍历

  public void preOrderTraversal(TreeNode root) {

    if(root!=null) {

      System.out.print(root.val + " ");

      preOrderTraversal(root.left);

      preOrderTraversal(root.right);

    }

  }

  //中序遍历

  public void inOrderTraversal(TreeNode root) {

    if(root!=null) {

      inOrderTraversal(root.left);

      System.out.print(root.val + " ");

      inOrderTraversal(root.right);

    }

  }

  //后序遍历

  public void postOrderTraversal(TreeNode root) {

    if(root!=null) {

      postOrderTraversal(root.left);

      postOrderTraversal(root.right);

      System.out.print(root.val + " ");

    }

  }

}

以上代码中,TreeNode是二叉树的结点,包括一个值val和两个指针left、right分别指向左右子树。而BinaryTreeTraversal类则包含了三个方法,分别实现了二叉树的前序遍历、中序遍历和后序遍历。

使用上述代码,我们可以轻松地进行二叉树的遍历。例如,我们新建一棵二叉树如下:


    1

    / \

   2  3

   / \

  4  5

则可以使用以下代码进行遍历:


  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();

  traversal.preOrderTraversal(root);

  System.out.println();

  traversal.inOrderTraversal(root);

  System.out.println();

  traversal.postOrderTraversal(root);

输出结果为:


1 2 4 5 3

4 2 5 1 3

4 5 2 3 1

通过以上代码案例,可以看出Java在实现二叉树的遍历时非常简洁和方便,同时也展示了Java中类和方法的使用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复