基础概念
定义:一种非线性数据结构,由节点组成,每个节点包含数据元素和指向子节点的指针
例子: 想象一个树木,根部是树干,树干上有许多分支,每个分支又分很多小枝,每个小枝上都有叶子
特点:
- 非线性结构: 树的元素之间不是连续存储的,而是通过指针连接,形成树状结构
- 根节点: 树只有一个根节点,它是树的起点
- 子节点和父节点: 每个节点除了根节点之外,都有一个父节点,可以有多个子节点
- 层级结构: 树可以被分为不同的层级,从根节点开始,依次向下
基本操作
- 插入 (Insert): 在树中插入新节点需要找到合适的位置,并更新指针关系
- 删除 (Delete): 从树中删除节点需要找到该节点,并更新指针关系
- 查找 (Search): 在树中查找特定节点需要从根节点开始,依次向下比较节点数据,直到找到目标节点
应用场景
- 文件系统: 文件系统可以用树来表示文件和文件夹的层次结构
- 决策树: 决策树可以用树来表示一系列决策,每个节点代表一个决策,叶子节点代表最终结果
- 语法树: 语法树可以用树来表示程序代码的语法结构