高级数据结构及算法:树的基本概念,树的表示方法

本文介绍了树的基本概念,包括节点、度、层次和深度等,并详细讲解了树的分类,如二叉树和多叉树。接着探讨了树的不同表示方法,如双亲表示法、孩子表示法、双亲孩子表示法和孩子兄弟表示法,以及二叉树的顺序存储和链式存储方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

树的基本概念

1. 什么是树?

画树的在线软件

树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一棵非空树中:

  1. 有且仅有一个特定的称为根(root)的结点
  2. 当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm, 其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)

在这里插入图片描述

2. 树的构成

2.1 节点

节点分类 特点 说明
根(root) 没有父节点只有子节点的节点
叶子(leaf)/终端节点 没有子节点或者子节点是空的节点 叶子结点度为0
分支节点/非终端节点 分支节点包含根节点
 双亲节点或父节点(Parent): 若一个节点含有子节点,则这个节点称为其子节点的父节点
 孩子节点或子节点(Child): 一个节点含有的子树的根节点称为该节点的子节点
 兄弟节点(Sibling): 具有相同父节点的节点互称为兄弟节点
 节点的祖先: 从根到该节点所经分支上的所有节点
 节点的子孙: 以某节点为根的子树中任一节点都称为该节点的子孙

在这里插入图片描述

2.2 度

节点的度数: 节点孩子的个数
树的度: 树中节点的度最大值。

2.3 层次

层次: 从根开始定义起,根为第1层,根的子节点为第2层,以此类推
有些地方会把根算为第0层

2.4 深度与高度

维基百科
节点的高度:节点到最远叶子节点的最长路径上边的数量。叶子节点高度为0。
节点的深度:节点到根节点的路径上边的数量。所有根节点深度为0。
树的高度:树的高度等于根节点的高度,等于最远叶子节点的深度。
树的深度:树的深度等于树的高度。
树的宽度:两个最长路径的叶子节点之间节点数。

在这里插入图片描述
在做题时,注意看对树的高度和深度的定义,有的是按照边的数量,有的是按照节点的数量计算

3. 树的分类

按照子节点的数量分为二叉树和多叉树

<
分类 概念
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值