1、树的定义

N个结点的有限集合,N=0时,称为空树。

2、树满足以下条件:

  • 有且仅有一个特定的称为根的结点。
  • 当N>1 时,其余结点可分为m(m>0)个互不相交的有限集合T1,T2,T3......Tm,其中每一个集合本身又是一棵树,并且称为根节点的子树。

3、基本术语

结合上图解释基本术语

1> 以结点K为例,根A到结点K唯一路径上的任意结点,称为结点K的祖先结点,图中结点B为结点K的祖先结点,而结点K为结点B的子孙结点
2>路径上最接近结点K的结点E称为K的双亲结点,而K为结点E的孩子结点。具有相同双亲的为兄弟结点
3>树中一个节点的子结点个数称为该结点的度,树中结点最大的度数称为树的度
4>度数大于0的结点称为分支结点;度数为0(没有子女的结点)的结点称为叶子节点(又称终端结点)。
5>树的深度、高度和层次
结点的层次从树根开始定义,根节点为第一层,子节点为第二层,以此类推。
结点的深度从根节点开始自上而下逐层累加。
结点的高度从叶节点开始自底向上逐层累加。
树的高度 树中结点的最大层数。

二叉树

1、定义:另一种树形结构,需保证每个二叉树的结点最多包含两个子树,并且二叉树包含左右之分。与度为2 的树不同的是二叉树可以为空,但是度为二的树至少有3个结点。

2、二叉树的几种特殊类型:

满二叉树:顾名思义树中每层都含有最多的结点。当有一颗高度为h的树,满二叉树包含的结点为2的h次方-1。
完全二叉树
平衡二叉树:树上任一结点的左子树和右子树的深度之差不超过1。

3、二叉树的存储

1>二叉树的链式存储:用一组连续的地址空间依次自上而下,自左而右的存储二叉树上的结点元素。存储效率较低。
2>二叉树的链式存储:用一个链表来存储一颗二叉树,二叉树中每个结点用链表中一个链结点来存储。二叉树中结点结构至少还包含3个域:数据域、左指针域、右指针域。

posted @ 2019-01-10 20:16  刘莹小西瓜  阅读(206)  评论(0编辑  收藏  举报