树的概念:树是n个节点的有限集
树形结构:非线性数据结构
树的相关概念:
1.节点:节点就是树中的元素
2.度:节点拥有的树的个数
3.叶子/终端节点:度为零的节点
4.非终端节点/分支节点:度不为零的节点
5.子孙:该节点所拥有的其他节点
6.孩子:该节点子树的根节点
7.层次:树的层次就是从根节点开始,节点所在的位置,节点层次最大的成为数的深度
8.森林:m个互不相交的树的集合
二叉树:
概念:树的另外一种形式,树中节点的子树的个数最多为2
特点:树的子树有左右之分,不能相互颠倒
二叉树的性质:
1.二叉树的每层中,最多有2^(i-1)个节点,i代表层数
2.深度为k的二叉树最多有(2^k)-1个节点,最少有k个节点
3.度为2和度为0的节点之间的关系满足:n0=n2+1;
满二叉树:
定义:深度为k,节点数为(2^k)-1的二叉树
完全二叉树:
定义:该二叉树的每个节点可以在与其对应的满二叉树中找到的二叉树
特性:
1.n个节点的完全二叉树的深度为 log以2为底n的对数向下取整后+1
2.若节点为i,则该节点的双亲节点在 (i/2)向下取整
3.n个节点的完全二叉树,若2i>n 则i没有左节点,否则他的左节点是2i
4.若2i+1>n,则i节点没有有节点,否则他的右节点是2i+1