• 算法树概念


    满二叉树=>完全二叉树

    二叉查找树=>平衡二叉查找树(AVL)=>红黑树

    B-Tree(B树) => B+Tree(B+树)

    满二叉树

    除了叶子节点外每一个节点都有两个子节点,且所有叶子节点都在二叉树的同一高度上。

    完全二叉树

    如果二叉树中除去底层节点后为满二叉树,且底层节点依次从左到右分布,则此二叉树被称为完全二叉树。

    满二叉树一定是完全二叉树

    二叉查找树(Binary Search Tree - BST,又称二叉排序树、二叉搜索树)

    二叉查找树根节点的值大于其左子树中任意一个节点的值,小于其右子树中任意一节点的值,且该规则适用于树中的每一个节点。

    二叉平衡树AVL树的特点

    • 具有二叉查找树的特点(左子树任一节点小于父节点,右子树任一节点大于父节点),任何一个节点的左子树与右子树都是平衡二叉树
    • 任一节点的左右子树高度差小于1,即平衡因子为范围为[-1,1] 如上左图根节点平衡因子=1,为AVL树;右图根节点平衡因子=2,固非AVL树,只是BST。

    平衡二叉树一定是二叉查找树

    B-树,这里的 B 表示 balance( 平衡的意思),B-树是一种多路自平衡的搜索树(B树是一颗多路平衡查找树
    它类似普通的平衡二叉树,不同的一点是B-树允许每个节点有更多的子节点。下图是 B-树的简化图.

    B+树是B-树的变体,也是一种多路搜索树, 它与 B- 树的不同之处在于:

    1. 所有关键字存储在叶子节点出现,内部节点(非叶子节点并不存储真正的 data)
    2. 为所有叶子结点增加了一个链指针

    B-树每个节点都存储数据,  B+树只有叶子节点才存储数据,内节点不存储数据,即底层节点才存储数据

    参考链接:

    https://cloud.tencent.com/developer/article/1669288

    https://www.jianshu.com/p/ace3cd6526c4

  • 相关阅读:
    不要自称为程序员(转)
    JSON数据格式
    netstat
    win7,ubuntu双系统——重装win7后如何恢复ubuntu引导
    js中setInterval与setTimeout用法
    使用CSS中margin和padding的基础和注意事项
    HTTP协议与HTML表单(再谈GET与POST的区别)
    (转)JAVA AJAX教程第四章—AJAX和MVC的简单结合
    (转)JAVA AJAX教程第三章—AJAX详细讲解
    制作SD卡启动自己编译的uboot.bin
  • 原文地址:https://www.cnblogs.com/hzijone/p/16585823.html
Copyright © 2020-2023  润新知