Lecture 10

绪论

第十章对应的是课本上第六章的第一节,也就是树。


Tree structure

树是离散数学中图论里面的一个概念,数据结构中的树一般都是指的离散数学中的有根树(且一般是有向的)。有关树的性质离散数学中介绍的要比数据结构详细很多,有关树的概念和性质建议直接看离散数学,这里只做部分知识和概念的复习。

Parent,Children,Siblings

首先讨论的是结点与结点之间的关系。

如果两个结点相邻,对于两个结点构成的边,起点为终点的parent(父节点),终点为起点的chidren(子节点)。例如下面的图中,结点H为结点I的父节点,结点J,K,L为结点I的子节点。

子节点的个数不限定,称为一个结点的degree(度),用deg(_)表示。父节点的个数只能为0或1,在有根树中,父结点个数为1的结点只有一个,就是树的根结点,其余结点的父节点存在且唯一。

两个结点不相邻的情况较为复杂,一般对于树的不同情况做不同的解释,最为通用的关系就是如果两个结点的父节点相同,那么称这两个结点的关系为siblings(兄弟)。下图中,J,K,L三个结点的关系就是siblings。

这种不相邻的情况最为简单,在很多树的存储结构中将兄弟结点像单链表一样连接起来,于是先将兄弟关系放在parent,children一起讨论。

在这里插入图片描述

path,ancestor,descendant

对于其他不相邻两个结点的关系,首先需要知道一个概念叫做path(路径),这个概念解释起来比较繁杂,涉及的概念较多,简单来说,我们假设一个人当前在某个结点A,可以前往与这个结点关联的边的终点,最终通过若干次前进,可以到达结点B,那么称结点A与结点B相通,前进过程中经过的边称为A到B的路径。

树的性质有树上的任意两个节点之间存在唯一的某个结点到另一个结点的路径,对于某两个不相邻的结点存在的路径,起点称为终点的ancestor(祖先),终点称为起点的descendant(后代)。

有例子分别如下:

在这里插入图片描述

在这里插入图片描述

根据概念可以知道,树的根是树上所有其他结点的祖先,从根到其他结点的路径的长度称为该节点在这棵树上的高度,根的高度默认为0。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值