树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:

每个结点有零个或多个子结点;

每一个子结点只有一个父结点;

没有前驱的结点为根结点;

除了根结点外,每个子结点可以分为m个不相交的子树;

节点的度:一个节点含有的子树的个数称为该节点的度; 
叶节点或终端节点:度为零的节点称为叶节点; 
非终端节点或分支节点:度不为零的节点; 
双亲节点:在含有孩子的节点中,这个节点称为孩子节点的双亲节点; 
孩子节点:一个节点子树的根节点称为孩子节点; 
兄弟节点:具有相同双亲节点的节点互称为兄弟节点; 
树的度:一棵树中,最大的节点的度称为树的度; 
节点的层次:从根开始定义起,根为第一层,根的孩子为第二层; 
树的高度或深度:树中节点的最大层次; 
堂兄弟:双亲在同一层的节点互为堂兄弟; 
节点的祖先:从根到该节点所经分支上的所有节点; 
子孙:以某节点为根的子树中任一节点都称为该节点的子孙。 
森林:由m(m>=0)棵互不相交的树的集合称为森林; 
无序树:树中任意节点的子结点之间没有顺序关系,这种树称为无序树,也称为自由树;

有序树:树中任意节点的子结点之间有顺序关系,这种树称为有序树;

二叉树:每个节点最多含有两个子树的树称为二叉树;

霍夫曼树:带权路径最短的二叉树称为哈夫曼树或最优二叉树;