技术问答-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中遍历方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现