数据结构(链表、二叉树、红黑树、多叉树、b-tree、b+tree)

本文介绍了数据结构从简单的链表逐步演变为复杂的数据存储结构,如二叉树、多叉树、平衡二叉搜索树(红黑树)以及B+树的过程。B+树作为数据库中常用的索引结构,它的特性在于所有叶子节点形成一个链表,以优化查找效率。
摘要由CSDN通过智能技术生成

链表--》二叉树--》多叉树--》二叉平衡树--》红黑树---》多路搜索树btree--》b+tree

根据子节点的个数可以划分成N叉树(一般N ≥ 2),N叉树拥有的特征是每个节点至多有N个子节点

比如,N = 2时,称为二叉树,每个节点至多只有2个节点。

1、链表:当二叉树没有在分叉的时候就是链表(n=1)

2、二叉树(n=2)

3、当n=3的时候,n就是3叉树,n=n 的时候那就是n叉树,多叉树就是这样子

4、平衡二叉搜索树(红黑树)

平衡二叉搜索树,顾名思义,是二叉树同时满足平衡二叉树以及二叉搜索树的定义,即二叉树不但中序遍历为递增序列,并且树还平衡。

 红黑树

由于平衡二叉搜索树的定义比较苛刻,实际过程中生成并维持一颗平衡二叉搜索树是比较复杂的,而红黑树放宽了平衡条件的限制,引入弱平衡的概念。

红黑树的定义:
a.节点是红色或黑色。
b.根是黑色。
c.所有叶子都是黑色(叶子是NIL节点)。
d.每个红色节点必须有两个黑色的子节点。(从每个叶子到根的所有路径上不能有两个连续的红色节点。)
e.从任一节点到其每个叶子的所有简单路径都包含相同数目的黑色节点(简称黑高)

 

5、 B-tree

B树是多路搜索树,对于树中的非叶子节点,如果放了m个关键字,就同时需要放m+1个指向子节点的指针,根节点的子节点数为[2, N],其他节点的子节点数为[N/2,N]。并且所有关键字在整颗树中只出现一次,非叶子结点可以命中所有叶子结点位于同一层。

 6、b+tree

 B+树是在B树上进行改造升级,把叶子节点层串成一个链表

 MySQL数据库的表结构底层数据存储用的就是B+树。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值