树与二叉树

树的定义,树是N(N>=0)个结点的有限集合,N=0时,称为空树,这是一种特殊情况。在任意一颗非空树中应满足:
1.有且仅有一个特定的称为根的结点。2.当N>1时,其余结点可分为m(m>0)个互不相交的有限集合T1.T2…Tm,其中每一个集合本身又是一棵树,并且称为根结点的子树。显然树的定义是递归的,是一种递归的数据结构。树作为一种逻辑结构,同时也是一种分层结构。具有以下两个特点:1.树的根结点没有前驱结点,除根结点之外的所有结点有且仅有一个前驱结点。2.树中所有结点可以有零个或多个后继结点。
树适合于 表示具有层次结构的数据,树中的某个结点(除根结点外)最多只和上一层的一个结点(即其父结点)有直接关系,根结点没有直接上层结点,因此在n个结点的树中有n-1条边。而树中每个结点与其下一层的零个或多个结点(即其子女结点)有直接关系。
基本术语,下面结合图中的树来说明一些基本术语和概念。
1.考虑结点K。根A到结点K的唯一路径上的任意结点,称为结点K的祖先结点,如结点B是结点K的祖先结点,而结点K是结点B的子孙结点。路径上最接近结点K的结点E称为K的双亲结点,而K为结点E的孩子结点。根A是树中唯一没有双亲的结点。有想逃避双亲的结点称为兄弟结点,如结点K和结点L有相同的双亲结点E,即K与L称为兄弟节点。
基本术语:
1.考虑结点K。根A到结点K的唯一路径上的任意结点,称为结点K的祖先结点。如结点B是结点K的祖先结点,而结点K是结点B的子孙结点,路径上最接近结点K的结点E称为K的双亲结点,而K为结点E的孩子结点。根A是树中唯一没有双亲的结点。有相同双亲结点称为兄弟结点,如果结点K和结点L有相同的双亲结点E,即K和L为兄弟结点。
2.树中一个结点的子节点个数称为该结点的度,树中结点的最大度数称为树的度,如结点B的度为2,结点D的度为3,树的度为3.
3.度大于0的结点称为分支结点(又称非终端结点);度为0(没有子女结点)的结点称为叶子结点(又称为终端节点),在分支结点中,每个结点的分支数就是该结点的度。
4.结点的深度,高度和层次。结点的层次从树根开始定义,根结点为第一层,它的子节点为第二层,以此类推。结点的深度是从根结点开始自顶向下逐层累加的。结点的高度是从叶结点开始自底向上逐层累加的。树的高度是树中结点的最大层数。
5.有序树和无序树:树中结点的子树从左向右是有次序的,不能交换,这样的树叫做有序树,在有序树中,一个结点其子结点按从左到右顺序 出现是有关联的,繁殖则称为无序树,在图。。。中,若将子结点位置互换,则变成一颗不同的树。
6.路径和路径长度:树中两个结点之间的路径是由这两个结点之间所经过的结点序列构成的,而路径长度是路径上所经过的边的个数。结点A和结点K的路径长度为3,中间经过结点B和结点E。
注意:由于树中的分支是有向的,即从双亲结点指向孩子结点,所以树中的路径是从上向下的,同一双亲结点的两个孩子结点之间不存在路径。
7.森林,森林是m(m>0)棵互不相交的树的集合。森林的概念与树的概念十分接近,因为要把树的根结点删除就成了森林,反之,只要给n棵独立的树加上一个结点,并把这n棵树作为该结点的子树,则森林就变成了树。
树的性质:树具有以下最基本的性质:
1.树中的结点数等于所有结点的度数加1.
2.度为m的树中第i层上至多有m i-1 个结点(i>=1)
3.高度为h的m叉树至多有。。个结点。
4.具有n个结点的m叉树的最小高度为。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值