我是靠谱客的博主 儒雅金鱼,最近开发中收集的这篇文章主要介绍技术问答-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中遍历方法的全部内容,希望文章能够帮你解决技术问答-23 javabean创建一个二叉树,左右两个叶子节点 (1)要求每个结点都有两个叶子,每个叶子节点可以找到父节点也可以找到左右两个子节点 (2)提供2中遍历方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复