MySQL之索引树

今天是1024程序员节,祝大家节日快乐!

关键词:索引    二叉查找树    平衡二叉查找树    B树    B+树

 


推荐一个可以在线演示各种树的插入过程的网站,帮助学习和理解各种树:

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

学习MySQL中索引,避免不了B+树。B+树是由二叉查找树到平衡二叉查找树到B树演变而来的,所以一步步从二叉查找树开始了解,对B+树的学习更有帮助。

关于数据结构-树,可以理解成是一种特殊的键值对结构。(就像jdk1.8中,HashMap使用了红黑树来存储数据)

关于索引的知识,请戳这里《MySQL之索引》


█ 名词解释

首先介绍下树中的几个名词,这些名词对所有的树都共用。

  • 根节点:树结构中最顶层的节点
  • 子节点:其他节点(父节点)指向的节点
  • 父节点:指向其他节点(子节点)的节点
  • 叶子节点:没有子节点的节点,在树结构的最底层
  • 内部节点:所有的非叶子节点,包括根节点
  • 外部节点:即叶子节点
  • 左子树:父节点左边分支所组成的树
  • 右子树:父节点右边分子所组成的树

(这里的左右,是从我们看过去的角度来说的,而不是父节点自身的角度)

  • 树的深度:也叫层级,根节点到叶子节点的路径长度

二叉查找树

二叉查找树,Binary Search Trees,简称BST。

如上图所示,就是一棵二叉查找树,其中:

根节点:27

子节点:对于27来说,14和35是其子节点

父节点:14的父节点是27

叶子节点:10、19、31、42

内部节点:27、14、35

外部节点:10、19、31、42

左子树:对于27来说,14、10和19组成的树就是其左子树

右子树:对于27来说,35、31和42组成的树就是其右子树

 

特征:

①节点是有序的

②除叶子节点外,每个节点最多有两个分支

③当前节点的左子节点要比自己小࿰

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值