树1:二叉树基础
基本概念
树(Tree) 是一种非线性的分层数据结构,由节点(Node)和边(Edge)组成,满足以下条件:
- 根节点(Root):存在且唯一一个没有父节点的节点,作为树的起点。
- 父子关系:除根节点外,每个节点有且仅有一个父节点。
- 连通性:所有节点均通过边连通,即从根节点出发可通过路径到达任意节点。
- 无环性:树中不存在环路,即没有从任一节点出发并沿边返回自身的路径。
- 层次结构:节点按父子关系形成分层结构,根节点位于第一层,其子节点位于第二层,依此类推。
叶节点(Leaf):没有子节点的节点
子树(Subtree):以某节点为根,包含其所有后代节点的子结构
度(Degree):节点的子节点数量;树的度为所有节点度的最大值。
节点的高度(height):当前节点大到叶子节点的最长路径(边的数量)
节点的深度(depth):根节点到当前节点的的边的数量
层级(level):节点的深度 + 1
树高度:从根到最远叶节点的最长路径边数,根节点的高度,树高 = 节点高度 + 节点深度