• 二叉树(binary tree)


    1、概述

      如果树中的每个节点的子节点的个数不超过2,就是一个二叉树;

    2、特点

      增删改查的性能都很高;

    3、二叉查找树(二叉排序树、二叉搜索树)(Binary Search Tree)

      左子树所有节点的值均小于等于他的根节点的值;

      右子树所有节点的值均大于或者等于它根节点的值;

      每一个节点最多有两个子树;

      有可能出现“瘸子现象”就变成链表了;

    4、平衡二叉树(Balanced Binary Tree/AVLTree)

      基于二叉查找树,但是让树不要太高,尽量让树元素平衡分布。这样综合性能就高了;

      规则:它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一颗平衡二叉树;

    5、红黑树(Red Black Tree)

      就是平衡的二叉查找树;

      特征:

        每一个节点或是红色,或是黑色;

        根节点必须是黑色;

        每个叶节点(Nil)是黑色的;

        如果某一个节点是红色,那么它的子节点必须是黑色;

        对每一个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点;

      在进行元素插入的时候,和之前一样;每一次插入完毕以后,使用黑色规则进行校验,如果不满足红黑规则,就需要通过变色,左旋和右旋来调整树,使其满足红黑规则;

    6、平衡多路查找树(B-Tree)

      

    7、B+Tree

      B+Tree是在B-Tree基础上的一种优化,使其更适合实现外存储索引结构,InnoDB存储引擎就是用B+Tree实现其索引结构。

      

  • 相关阅读:
    测试阅读量
    JS中的 length, var i = [1,2]; i[length], 与 i.length, i["length"]的区别
    微信小程序:button组件的边框
    mongo学习笔记
    C言语语法总结(随时更新)
    Vim 常用命令总结
    php 文件操作
    git常用命令
    递归方式转迭代方式
    ECMAScript6 ES6 ES2015新语法总结
  • 原文地址:https://www.cnblogs.com/xp2h/p/12520592.html
Copyright © 2020-2023  润新知