1.二叉树的定义
二叉树是一种树形结构,其特点是每个节点至多只有两颗子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。
二叉树与度为2的有序树的区别
1.度为2的树至少有三个结点,而二叉树可以为空
2.度为2的有序树的孩子结点的左右次序是相对于另一孩子结点而言的,如果某个结点只有一个孩子结点,这个孩子结点就无需区分其左右次序
结点编号方式
自上而下,自左向右
对于一个编号为i的结点,如果有双亲,双亲编号为i/2,如果有左孩子,左孩子编号为2i;如果有右孩子,则右孩子为2i+1;
特殊的二叉树
满二叉树:一颗高度为h,并且含有2的h次方-1个结点的二叉树称为满二叉树,树中每一层都含有最多的结点。
完全二叉树:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。换言之,就是每一个结点都与高度为h的满二叉树的结点一一对应。
二叉排序树:左子树上所有结点的关键字均小于根结点的关键字;右子树上所有节点的关键字均大于根结点的关键字。左子树和右子树又各是一颗二叉排序树。
平衡二叉树:树上任一结点的左子树和右子树的深度之差不超过1
二叉树的性质
1.非空二叉树上叶子结点数N0等于度为2的结点树加1,即N0=N2+1
2. 非空二叉树上第k层上只是多有2的H次方-1个结点
3. 高度为H的二叉树中至多有2的H次方-1个结点
4. 对完全二叉树按从上到下,从左到右的顺序依次编号,有以下关系:
①当i>1,结点i的双亲结点编号为i/2,即当i为偶数时,其双亲结点编号为i/2,它是双亲结点的左结点;当i为奇数时,其双亲结点的编号为(i-1)/2,它是双亲结点的右孩子
②当2i≤N时,结点i的左孩子编号为2i,否则无左孩子
③当2i+1≤N时,结点i的右孩子编号为2i+1,否则无右孩子
④结点i所在深度为log2i+1
5.具有N个结点的完全二叉树的高度为log2(N+1)或log2N+1
更多查看我的个人博客:https://beatjerome.github.io