• 【JVM】-NO.115.JVM.1 -【JDK11 HashMap详解-4-伸展树、B树】


    .Style:Mac

    Series:Java

    Since:2018-09-10

    End:2018-09-10

    Total Hours:1

    Degree Of Diffculty:5

    Degree Of Mastery:5

    Practical Level:5

    Desired Goal:5

    Archieve Goal:3

    Gerneral Evaluation:3

    Writer:kingdelee

    Related Links:

    http://www.cnblogs.com/kingdelee/

    https://blog.csdn.net/v_july_v/article/details/6530142

    1.

    伸展树,保证从空树开始连续M次对数的操作最多话费0(M log N)的时间

    基本思想:

    当一个节点被访问后,它就要经过一系列的AVL树旋转,推到根上。

    好处:对于访问较深的节点,重构后就变快了。

    特性:不要求保留高度或平衡信息

     

     展开:

    zig-zag:

     

    zig-zig:

    举例:

     

     

    B树:

    1.定义关键字个数,即每个节点最多能够存储的关键字数

    B和B+树的区别在于,B+树的非叶子结点只包含导航信息,不包含实际的值,所有的叶子结点和相连的节点使用链表相连,便于区间查找和遍历。

    B+ 树的优点在于:

    • 由于B+树在内部节点上不好含数据信息,因此在内存页中能够存放更多的key。 数据存放的更加紧密,具有更好的空间局部性。因此访问叶子几点上关联的数据也具有更好的缓存命中率。
    • B+树的叶子结点都是相链的,因此对整棵树的便利只需要一次线性遍历叶子结点即可。而且由于数据顺序排列并且相连,所以便于区间查找和搜索。而B树则需要进行每一层的递归遍历。相邻的元素可能在内存中不相邻,所以缓存命中性没有B+树好。
  • 相关阅读:
    扩展问题
    oracle数据类型及其隐式转换 (摘,转载)
    oralce中to_char默认转换格式的理解
    oracle的to_char中的fm(转,摘录)
    Oracle中TO_DATE TO_CHAR格式(转,摘录)
    ZT Abstract Factory
    ZT Factory Pattern
    Singleton
    几本电子书比较
    名词后变为复数+s,或者+es等怎么读
  • 原文地址:https://www.cnblogs.com/kingdelee/p/9743905.html
Copyright © 2020-2023  润新知