文章目录
前言
在计算机的编程过程中,我们会用到很多的不同种类的数据类型,数、队列、链表等等,每一种不同的的数据类型都有不同的数据结构,在我们接触更多的数据结构时我们要有一定的基础,今天就来认识二叉树。
一、什么是二叉树?
在学习二叉树之前我们先来搞清楚什么是树。
定义:树是具有n个结点的有限集合。
- 当n=0时,有且仅存在一个结点,该结点称为根结点
- 当n>0时,其余结点分为m个互斥的有限集合T1,T2,T3,每个集合分别称为子树
简单来讲就是一个节点两着两个子节点,一个左节点一个右节点,子节点又有相应的字节点,由此对应。
二叉树是树的一种特殊形态。二叉树的特点是每个结点最多拥有两个子女(就是不存在度大于2的结点),分别称为左子女和右子女,并且二叉树的子树有左右之分,其子树次序不能颠倒。
大概图形模型。
二、二叉树的代码实现
在设计二叉树的代码实现中,在设计节点时我们用到递归的思想。
public class Node{
//每个节点有三个属性:节点值、左子节点、右子节点
private Node left;
private Node right;
private int value;
//无参构造方法
public Node(){
}
//通过构造方法初始化节点值
public Node(int value){