一、二叉树的分类
二叉树可分为四类:
- 满二叉树:只有度为0和度为2的节点;度简单说就是左右孩子的个数,节点的个数为:
2^(k-1)
,k为层数 - 完全二叉树:只有最后一层没有完全占满,并且最后一层是从左到右没有空的!
- 二叉搜索树:每个节点所有左孩子小于当前节点,所有右孩子大于当前节点!
- 平衡二叉树(AVL):每个节点的左右孩子的高度差的绝对值小于等于1。
二、二叉树的存储方式
存储方式可以是链表存储,也可以是顺序存储(数组);
三、二叉树的遍历方式
遍历方式分为两大类:深度优先遍历和从广度优先遍历。
深度优先遍历分为:
- 前序遍历(根左右):1245367
- 中序遍历(左根右):4251637
- 后序遍历(左右根):4526731
广度优先遍历就是层次遍历:1234567
四、二叉树的定义(JAVA)
public class TreeNode{
int val;
TreeNode left;
TreeNode right;
public TreeNode(){}
public TreeNode(int val){
this.val = val;
}
public TreeNode(TreeNode left, TreeNode right,,int val){
this.val = val;
this.left = left;
this.right = right;
}
}
感谢大家的阅读,我是Alson_Code,一个喜欢把简单问题复杂化,把复杂问题简单化的程序猿! ❤