树和二叉树
树的定义:
- 树是一种非线性结构,因为它是一对多的关系,树是一个前驱,多个后继。每个结点都可以有分支,而且树具有层次。
- 说树,就有根,而根下面的其余的结点也可看做根的子树。
- 根结点就是没有前驱的结点。
- 结点的度是结点的后继个数,也是该结点拥有的子树数。
- 树的度是所有结点的度中的最大的。
- 树的深度是该树有几层。
- 叶子是终端结点,因为它没后继了。
- 结点的子树的根称该结点的孩子,该结点是孩子的双亲。就是人类社会的定义的父母孩子那样。
- 堂兄弟是同一层的
- 结点的祖先从根到该结点的所有结点
- 结点的子孙:以某节点为根的子树上都是它的子孙
- 有序树是从左到右有序
- 无序树就是没序
- 森林有大于0棵不相交的树
二叉树:
- 二叉树的定义是有n个结点的有限集,它或者是空集,或者是由一个根结点及两棵互不相交的分别称作这个根的左子树,右子树的二叉树组成。
- 特点有每个结点最多有两个结点,子树有左右之分,二叉树可以是空集
- 例子:具有3个结点的二叉树有5种形态
- 二叉树的5种形态:空二叉树,跟和空的左右子树,根和左子树,根和右子树,根和左右子树
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异