树结构学习笔记

1. 树的定义

树(Tree)是一种分层数据结构,由节点(Node)和边(Edge)组成,具有以下特点:

  • 树中有一个特殊的节点,称为根节点(Root)。
  • 除根节点外的每个节点都有且只有一个父节点(Parent),可以有零个或多个子节点(Child)。
  • 树中的节点之间有且仅有一条路径相连。

2. 树的术语

  • 根节点:树的顶层节点,没有父节点。
  • 子节点:一个节点的直接下层节点。
  • 父节点:一个节点的直接上层节点。
  • 叶子节点:没有子节点的节点。
  • 内部节点:至少有一个子节点的节点。
  • 路径:从一个节点到另一个节点所经过的节点序列。
  • 深度:从根节点到某一节点的路径长度。
  • 高度:从某一节点到叶子节点的最长路径长度。
  • 层次:节点的深度加1。

3. 树的类型

3.1 二叉树

每个节点最多有两个子节点的树,称为二叉树(Binary Tree)。

  • 完全二叉树:除了最后一层,所有层的节点数都达到最大,并且最后一层的节点都在最左边。
  • 满二叉树:所有层的节点数都达到最大。
  • 平衡二叉树:左右子树的高度差不超过1的二叉树。

3.2 二叉搜索树

二叉搜索树(Binary Search Tree, BST)是一种特殊的二叉树,满足以下性质:

  • 每个节点的左子树中的所有节点值都小于该节点值。
  • 每个节点的右子树中的所有节点值都大于该节点值。

3.3 平衡树

  • AVL树:一种自平衡二叉搜索树,任意节点的两个子树的高度差不超过1。
  • 红黑树:一种自平衡二叉搜索树,通过节点着色和旋转操作来保持平衡。

3.4 B树和B+树

  • B树:一种自平衡的多路搜索树,广泛应用于数据库和文件系统中。
  • B+树:B树的变种,其中叶子节点链表连接,便于范围查询。
  • <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端熊猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值