数据结构笔记 十二:树

说明:本笔记依照《王道论坛-数据结构》视频内容整理。

一、基本概念

树是 n(n≥0) 个结点的有限集合,n=0 时,称为空树,这是一种特殊情况。在任意一棵非空树中应满足:

(1)有且仅有一个特定的称为根的结点

(2)当 n > 1时,其余结点可分为 m (m>0)个互不相交的有限集合T1、T2、……、Tm,其中每个集合本身又是一棵树,并且称为根节点的子树
在这里插入图片描述
非空树特点

  • 有且仅有一个根结点
  • 没有后继的结点称为“叶子结点”(或终端结点)
  • 有后继的结点称为“分支结点”(或非终端结点)
  • 除根结点外,任何一个结点都有且仅有一个前驱
  • 每个结点可以有 0 个或多个后继

树是一种递归定义的数据结构

二、结点之间关系描述

祖先结点:从一个结点出发,一直向上走,一直走到根结点为止,所经过的所有结点都是祖先结点。

子孙结点:从一个结点出发所有的分支都属于子孙结点。

双亲结点:一个结点的直接前驱结点。

孩子结点:一个结点的直接后继结点。

兄弟结点:前驱结点为同一个结点的结点。

堂兄弟结点:前驱的前驱是同一个结点的结点。

两结点之间路径:根节点到一个结点(只能从上往下)。

路径长度:根结点到一个结点经过几条边。

三、结点、树的属性描述

结点层次(深度):从上往下数(默认从1开始)

结点高度:从上往下数

高度(深度):总共多少层

结点:有几个孩子(分支)

:各结点的度的最大值

四、有序树、无序树

有序树:逻辑上看,树中结点的各子树从左至右是有次序的,不能互换

无序树:逻辑上看,树中结点的各子树从左至右是五次序的,可以互换

五、树、森林

森林:由 m(m≥0)棵互不相交的集合

六、树的性质

  • 结点数 = 总度数 + 1

  • 度为 m 的树和 m 叉树的区别(树的度 - 各结点的度的最大值、m 叉树 - 每个结点最多只能有 m 个孩子的树)
    在这里插入图片描述

七、树的存储结构

1、双亲表示法(顺序存储)

在这里插入图片描述
在这里插入图片描述

2、孩子表示法(顺序+链式存储)

在这里插入图片描述

3、孩子兄弟表示法(链式存储)

在这里插入图片描述

八、森林和树转换

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值