ACM 学习笔记(四) 数据结构之树、二叉树、完全二叉树、二叉查找树、AVL树、红黑树、B树、B+树

本文详细介绍了树的概念、性质及术语,包括树的度、叶节点、分支节点等。接着讲解了二叉树的定义、形态以及满二叉树和完全二叉树的区别。特别讨论了二叉查找树、平衡二叉树如AVL树和红黑树的特性,以及B树和B+树在数据库索引中的应用。最后,探讨了如何在MySQL中通过索引找到数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  树和图都属于非线性结构,树的形式化定义:对于一个树,它是由两个集合构成的 T = { D , R } T = \{D,R\} T={ D,R} D D D是包含 n n n个节点的有限集合( n ≥ 0 n \geq 0 n0)。当 n = 0 n=0 n=0时,为空树,否则关系 R R R满足以下条件:

  1. 有且仅有一个结点 d ∈ D d \in D dD,它对于关系 R R R来说没有前驱结点,结点 d d d称作树的根结点
  2. 根节点外,每个结点有且仅有一个前驱结点
  3. D D D中每个节点可以有零个或多个后继结点

  按照这个定义,树是一种一对多的数据结构。

  树的递归定义:树是由 n ≥ 0 n \geq 0 n0个结点组成的有限集合(记为 T T T)。其中: 如果 n = 0 n=0 n=0,它是一棵空树,这是树的特例;如果 n > 0 n >0 n>0,这 n n n个结点中存在一个唯一结点作为树的根结点(root),其余结点可分为 m m m ( m ≥ 0 m \geq 0 m0)个互不相交的有限子集 T 1 、 T 2 、 ⋯ 、 T m T_{1}、T_{2}、\cdots 、T_{m} T1T2Tm,而每个子集本身又是一棵树,称为根结点root的子树。树中所有结点构成一种层次关系

  上图所示中的树有三颗子树。各子树的根节点分别是 B 、 C 、 D B、C、D BCD

  • 树的基本术语
  1. 结点的度与树的度:树中一个结点的子树的个数称为该节点的度。树中各结点的度的最大值称为树的度,通常将度为 m m m的树称为 m m m次树,或者 m m m叉树。

  1. 分支结点与叶结点:度不为零的结点称为非终端结点,又叫分支结点。度为零的结点称为终端结点或叶结点(或叶子结点)。度为1的结点称为单分支结点;度为2的结点称为双分支结点,依此类推。

  1. 路径与路径长度:两个结点 d i d_{i} di d j d_{j} dj的结点序列( d i , d i 1 , d i 2 , ⋯   , d j d_{i},d_{i1}, d_{i2}, \cdots , d_{j} didi1,d

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值