1.一棵树是N个节点和N-1条边的集合。

2.对任意节点n_i,n_i的深度为从跟到n_i的唯一路径的长。因此跟的深度为1。n_i的高是从n_i到一片树叶的最长路径的长。因此所有的树叶的高都是1。一棵树的高等于它根的高。

3.二叉查找树 其深度的平均值为O(logN),但深度最大也能够达到N-1

二叉树节点声明:

typedef struct TreeNode *PtrNode
typedef  struct PtrNode Tree;
struct TreeNode
{
     ElementType  Element;
    Tree  Left;
    Tree  Right;
};

4.二叉树的主要用处之一是在编译器的设计领域:

语法树:树中的每个内部结点表示一个运算,而该结点的子结点表示该运算的分量。

表达式树:树叶是操作数比如常量或变量,而其他的结点为操作符。

5.通过表达式(树)得到其后缀表示。通过后缀得到一个表达式树。

6.二叉查找树:二叉树查找树是一棵二叉树,不同的是对于树中的每个结点X,它的左子树中所有关键字值小于X的关键字值,而它的右子树中所有关键字值大于X的关键字值。(特殊的二叉树)

7.如果删除的次数不多,则通常使用的策略是懒惰删除:当一个元素要被删除时,它仍留在树中,而是只做了个被删除的记号。

8.平衡查找树AVL树:每个结点的左子树和右子树的高度最多差一的二叉查找树。空树的高度定义为-1.(特殊的二叉查找树)

原文地址:https://www.cnblogs.com/xxiaoye/p/3623863.html