JAVA语言递归方法创建二叉树
来源:互联网 发布:彩票计划软件 编辑:程序博客网 时间:2024/05/16 12:35
采用递归的方法创建二叉树,可以灵活地创建任意形态的二叉树,这里用先序递归举例,中序和后序同理。
首先贴一下Node节点类,大同小异。
public class Node {private int data;private Node lchild;private Node rchild;public int getData() {return data;}public void setData(int data) {this.data = data;}public Node getLchild() {return lchild;}public void setLchild(Node lchild) {this.lchild = lchild;}public Node getRchild() {return rchild;}public void setRchild(Node rchild) {this.rchild = rchild;}public Node(int data, Node lchild, Node rchild) {super();this.data = data;this.lchild = lchild;this.rchild = rchild;}@Overridepublic String toString() {return "Node [data=" + data + ", lchild=" + lchild + ", rchild="+ rchild + "]";}}
下面是递归创建二叉树的方法,代码很简单,为了灵活创建树,用户需要输入每个节点的值,当输入的值为0时,认为这个节点为空。
public Node CreateInRecur(Scanner scanner){ int data = scanner.nextInt(); if(data==0) //输入data为0时,认为该节点为空节点 return null; Node node =new Node(data,CreateInRecur(scanner),CreateInRecur(scanner)); return node;}比如要生成下面这颗树:
用户输入的节点data先后为: 1 2 0 4 0 0 3 5 0 0 0
通过先序遍历打印的方式,得到各个节点的toString如下,说明已经成功创建了树:
Node [data=1, lchild=Node [data=2, lchild=null, rchild=Node [data=4, lchild=null, rchild=null]], rchild=Node [data=3, lchild=Node [data=5, lchild=null, rchild=null], rchild=null]]Node [data=2, lchild=null, rchild=Node [data=4, lchild=null, rchild=null]]Node [data=4, lchild=null, rchild=null]Node [data=3, lchild=Node [data=5, lchild=null, rchild=null], rchild=null]Node [data=5, lchild=null, rchild=null]个人觉得这种递归方式创建树很灵活,但是代价就是需要用户手动输入每个节点以决定树的形态。
阅读全文
1 0
- JAVA语言递归方法创建二叉树
- java 递归创建二叉树
- 递归创建二叉树 java实现
- java先序递归创建二叉树
- 递归方法创建二叉树,遍历二叉树
- 递归创建二叉树
- Java实现二叉树的创建、递归/非递归遍历
- java 二叉树(二)递归方式创建二叉树
- java二叉树的遍历,递归与非递归方法
- 递归方法实现二叉树的创建,遍历
- 二叉树的创建方法【递归】【循环】【插入】
- 二叉树创建,遍历,求深度详解(递归方法)
- C++使用递归的方法创建二叉树
- 二叉树递归创建遍历
- 创建二叉树(递归)
- 非递归创建二叉树
- c++递归创建二叉树
- 非递归创建二叉树
- Tomcat源码解析(6)
- list
- Git版本切换
- android studio加载RecyclerView,找不到RecyclerView的问题
- 【Selenium】7截屏
- JAVA语言递归方法创建二叉树
- 数据库SQL实战
- C++实现线程安全单例类
- opencv基本函数使用
- js对含有日期的json格式的字符对象进行排序
- 编译成功
- python 统计每月用户注册量(总注册数)
- 在tomcat里面配置数据库地址,以及在Spring和Java中的使用
- UVA