树的定义及相关术语

1.树是一种非线性的数据结构,它是由n个有限结点组成有层次关系的集合.

2.树具有以下特点,可以根据这些特点来判断一个数据结构是否是树

  • 每个结点具有0个或多个子结点
  • 每个子结点只有一个父结点
  • 没有前驱的结为根结点
  • 除了根结点外,每个子结点又可以由m棵不相关的子树组成

3.相关术语定义

  1. 节点的度:一个节点含有的子树的个数称为该节点的度;
  2. 叶节点终端节点:度为零的节点称为叶节点;
  3. 非终端节点分支节点:度不为零的节点;
  4. 双亲节点:在含有孩子的节点中,这个节点称为孩子节点的双亲节点;
  5. 孩子节点:一个节点子树的根节点称为孩子节点;
  6. 兄弟节点:具有相同双亲节点的节点互称为兄弟节点;
  7. 树的度:一棵树中,最大的节点的度称为树的度;
  8. 节点的层次:从根开始定义起,根为第0层,根的孩子为第1层;
  9. 树的高度深度:树中节点的最大层次;
  10. 堂兄弟:双亲在同一层的节点互为堂兄弟;
  11. 节点的祖先:从根到该节点所经分支上的所有节点;
  12. 子孙:以某节点为根的子树中任一节点都称为该节点的子孙。
  13. 森林:由m(m>=0)棵互不相交的树的集合称为森林;

4.分类

 

二叉树:每个结点最多包含两棵子树的树

树和二叉树的三个主要差别:

  1. 树的结点个数至少为1,而二叉树的结点个数可以为0;
  2. 树中结点的最大度数没有限制,而二叉树结点的最大度数为2;
  3. 树的结点无左、右之分,而二叉树的结点有左、右之分

完全二叉树:一棵有n个结点的二叉树,按满二叉树的编号方式对它进行编号,若树中所有结点和满二叉树1~n编号完全一致,则称该树为完全二叉树(Complete Binary Tree)

 

满二叉树:是每个结点都有0个或2个子结点的树

 

PS:即满二叉树一定是完全二叉树

 

二叉树及完全二叉树的性质:

  • 在二叉权树的第i层上至多有2i-1个结点.

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章