基础概念

定义:一种非线性数据结构,由节点组成,每个节点包含数据元素和指向子节点的指针

例子:  想象一个树木,根部是树干,树干上有许多分支,每个分支又分很多小枝,每个小枝上都有叶子

特点:

  • 非线性结构: 树的元素之间不是连续存储的,而是通过指针连接,形成树状结构
  • 根节点: 树只有一个根节点,它是树的起点
  • 子节点和父节点: 每个节点除了根节点之外,都有一个父节点,可以有多个子节点
  • 层级结构: 树可以被分为不同的层级,从根节点开始,依次向下

基本操作

  • 插入 (Insert): 在树中插入新节点需要找到合适的位置,并更新指针关系
  • 删除 (Delete): 从树中删除节点需要找到该节点,并更新指针关系
  • 查找 (Search): 在树中查找特定节点需要从根节点开始,依次向下比较节点数据,直到找到目标节点

应用场景

  • 文件系统: 文件系统可以用树来表示文件和文件夹的层次结构
  • 决策树: 决策树可以用树来表示一系列决策,每个节点代表一个决策,叶子节点代表最终结果
  • 语法树: 语法树可以用树来表示程序代码的语法结构