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

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

空树:节点数为0的树

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

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

子树

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

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

树的基本术语

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

属性

有序树和无序树

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

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

有序树

无序树

树和森林

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

森林图示

相关推荐
ccLianLian40 分钟前
数论·欧拉函数
数据结构·算法
会编程的土豆1 小时前
C++中的 lower_bound 和 upper_bound:一篇讲清楚
java·数据结构·算法
HUTAC2 小时前
关于进制转换及其应用的算法题总结
数据结构·c++·算法
XW01059992 小时前
6-函数-1 使用函数求特殊a串数列和
数据结构·python·算法
沉鱼.442 小时前
枚举问题集
java·数据结构·算法
罗超驿2 小时前
Java数据结构_栈_算法题
java·数据结构·
️是783 小时前
信息奥赛一本通—编程启蒙(3346:【例60.3】 找素数)
数据结构·c++·算法
captain3763 小时前
map和set
数据结构·算法
tankeven5 小时前
【无标题】
数据结构·c++·算法
jing-ya5 小时前
day 59 图论part10
java·开发语言·数据结构·算法·图论