数据结构:树(树的定义和基本术语)

非空树:有且仅有一个根节点

空树:节点数为0的树

在非空树中根节点没有前驱,叶子结点(终端结点)没有后继,分支结点(非终端结点)前驱和后继都有,前驱有且仅有一个。

下图有多个前驱,不是树结构

子树

子树可以看作是一个新的树,而新的树又可以分为多个子树

由此可见树是一种递归定义的数据结构

树的基本术语

祖先结点/子孙结点/双亲结点(父节点)/孩子结点/兄弟结点:参照现实中的家庭关系

属性

有序树和无序树

有序树:逻辑上看,树中结点的各子树从左至右是有次序的,不能互换(例如家庭关系)

无序树:逻辑上看,树中结点的各子树从左至右是无次序的,可以互换(例如我国行政规划关系)

有序树

无序树

树和森林

森林是m(m>=0)棵互不相交的树的集合,m=0时为空森林

森林图示

相关推荐
waveee1231 小时前
学习嵌入式的第三十三天-数据结构-(2025.7.25)服务器/多客户端模型
服务器·数据结构·学习
花开富贵ii2 小时前
代码随想录算法训练营二十八天|动态规划part01
java·数据结构·算法·leetcode·动态规划
Swiler3 小时前
数据结构第1问:什么是数据结构?
数据结构·算法
minji...7 小时前
数据结构 堆(4)---TOP-K问题
java·数据结构·算法
落羽的落羽8 小时前
【C++】论如何封装红黑树模拟实现set和map
数据结构·c++·学习
一百天成为python专家9 小时前
K-近邻算法
数据结构·python·算法·pandas·近邻算法·ipython·python3.11
小新学习屋9 小时前
《剑指offer》-数据结构篇-哈希表/数组/矩阵/字符串
数据结构·leetcode·哈希表
爱装代码的小瓶子19 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构
aramae1 天前
大话数据结构之<队列>
c语言·开发语言·数据结构·算法
cccc来财1 天前
Java实现大根堆与小根堆详解
数据结构·算法·leetcode