您的位置:首页 > 理论基础 > 数据结构算法

树和二叉树定义、基本术语和性质

2015-01-25 22:24 267 查看
树的定义和基本术语

•树:是一类重要的非线性数据结构,是以分支关系定义的层次结构。
•根:树(tree)是n(n>=0)个结点的有限集T,对于非空树,其中有且仅有一个特定的结点,称为树的根(root)。
•子树:当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,……Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree)。每棵子树的根结点有且仅有一个直接前驱,但可以有0个或多个直接后继。



结点:包含一个数据元素及若干指向子树的分支。
结点的度:结点子树的个数。
树的度: 树中最大的结点度。
叶子结点:也叫终端结点,是度为 0 的结点。
分枝结点:度不为0的结点。
从根到结点的路径:由从根到该结点所经分支和结点构成。



孩子结点:结点的子树的根称为该结点的孩子。
双亲结点:B结点是A结点的孩子,则A结点是B结点的双亲。
兄弟结点:同一双亲的孩子结点。
堂兄结点:同一层上结点。
祖先结点: 从根到该结点的所经分支上的所有结点子孙结点:以某结点为根的子树中任一结点都称为该结点的子孙。

结点的层次:根结点的层定义为1;根的孩子为第二层结点,依此类推。
树的深度:树中最大的结点层。
有序树:子树有序的树。
无序树:不考虑子树的顺序。
森林: m(m>=0)棵互不相交的树的集合。

线性结构:第一个数据元素(无前驱),最后一个数据元素(无后继),其它数据元素(一个前驱,一个后继)

树:根结点(无前驱),多个叶结点(无后继),树中其它结点(一个前驱,多个后继)

二叉树

定义:二叉树是n(n>=0)个结点的有限集,它或为空树(n=0),或由一个根结点和两棵分别称为左子树和右子树的互不相交的二叉树构成。

特点:

1.每个结点至多有二棵子树(即不存在度大于2的结点);

2.二叉树的子树有左、右之分,且其次序不能任意颠倒。

二叉树的五种基本形态



(1)满二叉树
一棵深度为k的且有 

个结点的二叉树叫满二叉树。

特点:每一层上的结点数都是最大结点数。

(2)完全二叉树
 深度为k,有n个结点的二叉树当且仅当其每一个 结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称为完全二叉树。

 特点:叶子结点只可能在层次最大的两层上出现。 对任一结点,若其右分支下子孙的最大层次为L,则其左分支下子孙的最大层次必为L或L+1。



二叉树具有以下重要性质:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据结构 二叉树