【非线性结构】树

一、树

1、什么是树

什么是树结构?从形状来看,树结构是现实中的树倒立得到的结构。现实生活中有很多这种结构,如,一个家族的家谱、一个机构的组织架构。

        

从定义来说,树是一些节点的集合,这个集合要么是空集,要么是一个根节点加上n个非空子树(n≥0),这是递归的定义方式。

这个节点包含数据域、指向n个子树的n条边。如下面所示,树T是根节点T+4个子树,同样,4个子树也分别可以看成类似的方式。

        

2、树的相关概念

(1)树节点之间的关系

叶节点:没有子节点的节点

根节点:没有父节点的节点,一棵树只有一个。如果单独看树的各个子树的话,每个子树也有一个根节点(只要不是空树)。

兄弟节点:有相同的父节点的节点互为兄弟节点

堂兄弟节点:父节点是兄弟节点的节点互为堂兄弟

(2)路径

节点n1到节点nk的路径:是一个包括n1和nk序列。如上图节点A到节点D的路径为:A,B,D (A、D包括在序列里面)

路径的长:是该路径边的个数(路径节点个数-1)。如路径A,B,D的长为3 - 1 = 2

(3)节点的高度、深度、层 以及 树的高度、深度

节点的深度:根到该节点的路径的长。注意:这条路径是唯一的。

节点的高度:该节点到它可到达的叶子节点的所有路径的长的最大值。注意:由于从一个节点可到达的叶子节点可能不只一个,所以路径不只一条,因此要取最大值。

节点的层数:层数与深度类似,只不过起点是1。层是一个集合,某一层包含多个节点。

关于深度、高度,可以用生活的概念来理解。在生活中,说到高度,就是从下往上度量的,起点都是地面。树中的高度也是一样,从最底层开始计数,并且计数的起点是0。

而生活中说到深度,是从上往下去度量的,比如水深多少米,起点是水平面。树中的深度也是一样,以根节点为“水平面”,计数起点也是1。

树中的2种特殊结点:叶节点的高度为0;根节点的深度为0

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值