
树的基本概念
结点数与度数关系:树中所有结点的度数之和等于节点数减1。 结点分布:树的第i层最多可以容纳$ m^{i-1} $个结点(在完全m叉树的情况下)。 最小高度:对于n个结点的m叉树,其最小高度为$ \lceil \log_m (n(m-1)+1) \rceil $。
发布日期:2021-05-24 13:56:54
浏览次数:20
分类:精选文章
本文共 959 字,大约阅读时间需要 3 分钟。
0x01 树
树(Tree)可以定义为一个包含n个结点的有限集合,其中n=0时表示一个空树。
- 根节点:任何非空树都有且仅有一个根节点。
- 结点之间关系:每个结点(除了根节点)都有且仅有一个前驱结点(父节点)。
- 边的数量:n个结点的树共有n-1条边,边是单向的,方向从父节点指向子节点。
有序树与无序树:
- 有序树(Ordered Trees)强调结点之间的顺序关系。例如,有序树的两个子树结构会因结点顺序的不同而不同。
- 无序树(Unordered Trees)则不关心结点的顺序,两个结构如果有相同的子树布局即可视为相同。
0x02 结点
一个结点(Node)具有多种属性:
- 祖先节点:在树中,某个结点的所有可能祖先包括其父节点、父父节点等,直到最高层的根节点。
- 子孙节点:一个结点的所有后代(包括自己)的集合称为其子孙节点。
- 双亲节点:对于非根结点,双亲节点是其直接的父节点和综上,如果有多个父节点,则需要区分。
- 孩子结点:树中某个结点直接连接到它的且在其下方的子节点构成的集合。
- 兄弟节点:同一父节点的其他子节点构成兄弟节点。
- 结点的层次:树的层次通常从0层(根节点)开始递增。
- 结点的高度和深度:
- 高度:从叶子节点(层次最低的节点)向上依次计算的层数。
- 深度:从根节点(层次最高的节点)向下依次计算的层数。
0x03 度
树中的度(Degree)用于描述结点的连接情况:
- 一个结点的度表示它的子节点数量。
- 树中最大的度即为树的度。
- 分支结点:度值大于0的结点。
- 叶子结点:度值为0的结点。
0x04 路径
路径(Path)描述的是树中两个结点之间的连接关系。因为树是有向的,只能从父节点向子节点移动,所以路径是从上到下的。例如,A到E的路径存在,而E到F的路径不存在。
0x05 森林
森林(Forest)是由多棵树组成的集合。如果一个树中存在多个子树,并且这些子树之间没有共享的根节点,那么这个集合就是一个森林。
0x06 性质
树的性质及相关结论:
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月16日 13时10分35秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Thymeleaf sec:authorize 标签不生效
2019-03-11
Flask--简介
2019-03-11
Frame--Api框架
2019-03-11
Boostrap技能点整理之【网格系统】
2019-03-11
javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
2019-03-11
Git简单理解与使用
2019-03-11
echarts 基本图表开发小结
2019-03-11
adb通过USB或wifi连接手机
2019-03-11
JDK9-15新特性
2019-03-11
TreeSet、TreeMap
2019-03-11
JVM内存模型
2019-03-11
可变长度参数
2019-03-11
3、条件查询
2019-03-11
cordova打包apk更改图标
2019-03-11
GitHub上传时,项目在已有文档时直接push出现错误解决方案
2019-03-11
文件系统的层次结构
2019-03-11
vue(渐进式前端框架)
2019-03-11
vscode设置eslint保存文件时自动修复eslint错误
2019-03-11
Remove Extra one 维护前缀最大最小值
2019-03-11