1.二叉树的定义
一个父节点最多有两个子节点,二叉树可以为空,二叉树有左右顺序之分。
2.特殊二叉树
3.二叉树的几个重要性质
(1)一个二叉树第i层的最大节点数为:2^(i-1)
(2)深度为k的二叉树有最大结点总数为:2^(k)-1
(3)对于任何非空二叉树T,若n0表示叶结点的个数、n2是度为2的非叶节点个数,那么二者关系满足n0=n2+1
4.二叉树的存储结构
(1)顺序存储
若为完全二叉树,可以采用这种存储形式。
存好如何找出他们呢?
非根节点的父节点序号为[i/2]。
结点的左孩子序号是2i。
结点的右孩子序号是2i+1。
注意:若为一般二叉树也可以采用这种结构,将空余的部位补齐即可,但会造成空间浪费。
(2)链表存储
class TreeNode
{
int data;
TreeNode leftNode;
TreeNode rightNode;
public TreeNode(int key)
{
data=key;
}
}