树的概念:
树表示的是更为复杂的数据元素之间的非线性关系。
有且仅有一个 根结点 (Root)
常用的术语
结点:包含一个数据元素和若干指向其子树的分支
度(degree):结点拥有的子树的数目
叶子:度为0 的结点
孩子:结点的子树的根称为孩子结点
。。。。
结点的高度:结点到叶子结点的最长路径
结点的深度:根结点到该结点的边个数
结点的层数:结点的深度+1
树的高度:根结点的高度
。。。
满二叉树:除了叶子结点外,每一个结点都有左后两个子结点
完全二叉树:除最后一层外,其它的结点个数必须达到最大,并且最后一层结点都连续靠左
四种二叉树遍历方式:
重要口诀:根节点输出
前序:根左右
中序:左根右
后序:左右根
时间复杂度:O(n)
代码实现
public class MyTwoTree {
private String data;
private MyTwoTree left;
private MyTwoTree right;
public MyTwoTree(String data, MyTwoTree left, MyTwoTree right) {
this.data = dat