• 1.二叉搜索树(AVL):

    1.所有非叶子结点至多拥有两个儿子(Left和Right);

    2.所有结点存储一个关键字;

    3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;

    二叉搜索树与二分查找性能比较:

    二叉搜索树的所有非叶子结点的左右子树的结点数目均保持差不多(平衡),那么 二叉搜索树的搜索性能逼近二分查找;但它比连续内存空间的二分查找的优点是,改变 二叉搜索树结构(插入与删除结点)不需要移动大段的内存数据,甚至通常是常数开销;

    2.b-树(即b树)

    B树就是一种平衡的多叉查找树

    1.每个节点至多可以拥有m棵子树;

    2.根节点,只有至少有2个节点(要么极端情况,就是一棵树就一个根节点,单细胞生物,即是根,也是叶,也是树);

    3.非根非叶的节点至少有的Ceil(m/2)个子树(Ceil表示向上取整)

    4.非叶节点中的信息包括[n,A0,K1,A1,K2,A2,…,Kn,An],,其中n表示该节点中保存的关键字个数,K为关键字且Ki<Ki+1,A为指向子树根节点的指针;

    5.从根到叶子的每一条路径都有相同的长度,也就是说,叶子节在相同的层,并且这些节点不带信息,实际上这些节点就表示找不到指定的值,也就是指向这些节点的指针为空。

    3.b+树

    b树的加强版;

    与b树区别或独有特性;

    1.有n棵子树的节点含有n个关键字(也有认为是n-1个关键字)

    2.所有的叶子节点包含了全部的关键字,及指向含这些关键字记录的指针,且叶子节点本身根据关键字自小而大顺序连接

    3.非叶子节点可以看成索引部分,节点中仅含有其子树(根节点)中的最大(或最小)关键字

    查找过程:每次都要查到叶子节点,即使我们的非根非叶子节点为我们的查找值;

    参考文章:https://www.cnblogs.com/xiaoxi/p/6868087.html

    参考文章:https://www.jianshu.com/p/92ead7dd2e1f

    悟道休言天命

  • 相关阅读:
    【pyarmor】代码加密
    Multi-Window Data Augmentation Approach for Speech Emotion Recognition
    SVM / SVC / SVR
    【python】不同的dropout们
    【aubio】音频处理笔记
    Git 笔记
    【stay foolish】代码片段
    BERT笔记
    【pytorch】torch.utils.data数据处理
    Scoket例子
  • 原文地址:https://www.cnblogs.com/yunianzeng/p/12463256.html
Copyright © 2020-2023  润新知