技术问答-23 javabean创建一个二叉树,左右两个叶子节点 (1)要求每个结点都有两个叶子,每个叶子节点可以找到父节点也可以找到左右两个子节点 (2)提供2中遍历方法

2021/4/13 22:27:51

本文主要是介绍技术问答-23 javabean创建一个二叉树,左右两个叶子节点 (1)要求每个结点都有两个叶子,每个叶子节点可以找到父节点也可以找到左右两个子节点 (2)提供2中遍历方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

javabean创建一个二叉树,左右两个叶子节点
(1)要求每个结点都有两个叶子,每个叶子节点可以找到父节点也可以找到左右两个子节点
(2)提供2中遍历方法

随便画了一个二叉树
在这里插入图片描述
前序遍历: 根结点 —> 左子树 —> 右子树
遍历上边的树:1,5,4,3,2,8,7,9,6
(1) 根节点 1
(2)遍历1的左树 根节点 5
(3)遍历5的左树 根节点4 无左右树
(4)遍历5的右数 根节点3
(5)遍历3的左树 2 无左右树
(6)遍历3的右树 8 无左右树
(7)遍历1的右树 根节点7
(8)遍历7的左树 根节点9 没有左右树
(9)遍历7的右树 根节点6 没有左右树
(10)总的顺序是:1,5,4,3,2,8,7,8,6
中序遍历:左子树—> 根结点 —> 右子树
遍历上边的树:4,5,2,3,8,1,9,7,6
后序遍历:左子树 —> 右子树 —> 根结点
遍历上边的树:4,2,8,3,5,9,6,7,1

package com;/**
 * 二叉树实体类
 * 
 * @author Administrator
 *
 */public class Node {// 节点数据
	String value;// 左树
	Node left;// 右树
	Node right;// 父节点
	Node parent;// 构造 构建根节点Node(String value) {this.value = value;this.left = null;this.right = null;this.parent = null;}// 设置左树public Node setLeft(Node left) {
		left.parent = this;this.left = left;return left;}// 设置右树public Node setRight(Node right) {
		right.parent = this;this.right = right;return right;}// 前序遍历 根节点->左子树->右子数public void preOrderTraversal(Node node) {if (node == null) {return;}
		System.out.println(node.value);preOrderTraversal(node.left);preOrderTraversal(node.right);}// 中序遍历 左子树->根节点->右子树public void sequentialTraversal(Node node) {if (node == null) {return;}sequentialTraversal(node.left);
		System.out.println(node.value);sequentialTraversal(node.right);}// 后序遍历 左子树->右子数->根节点public void postorderTraversal(Node node) {if (node == null) {return;}postorderTraversal(node.left);postorderTraversal(node.right);
		System.out.println(node.value);}public static void main(String[] args) {//手动构建上边例子的二叉树 
		Node node = new Node("1");
		node.setLeft(new Node("5")).setLeft(new Node("4"));
		node.left.setRight(new Node("3")).setLeft(new Node("2"));
		node.left.right.setRight(new Node("8"));
		node.setRight(new Node("7")).setLeft(new Node("9"));
		node.right.setRight(new Node("6"));//		node.preOrderTraversal(node);//		node.sequentialTraversal(node);
		node.postorderTraversal(node);}}


这篇关于技术问答-23 javabean创建一个二叉树,左右两个叶子节点 (1)要求每个结点都有两个叶子,每个叶子节点可以找到父节点也可以找到左右两个子节点 (2)提供2中遍历方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程