BST+AVL+SB
BST
性质
左子树<根节点、右子树>根节点
用途
解决排名相关的检索需求
基本操作
插入操作
一直插入到叶子节点
删除操作
1、删除叶子节点:直接删除,并将其父节点的孩子节点置空
2、删除度为1的节点:删除后,将孩子节点挂到父节点的父节点上
3、删除度为2的节点:找到前驱或者后继替换后,转换为度为1的节点
缺点
查找效率依赖于节点的插入顺序
AVL树
二叉排序树可能会退化成链表,时间效率从o(logn)---->o(n)
所以给出了平衡二叉排序树
性质
|h(left) - h(right)| <= 1
高度限制:low(h-2) + low(h-2) + 1 <= size(h) <= 2 ^ h - 1
近似于:1.5^h <= size(h) <= 2^h -1
调整策略
LL型:直接将不平衡的节点右旋
LR型:将不平衡节点的左孩子节点左旋,然后将该节点右旋
RL型:将不平衡节点的右孩子右旋,将该节点左旋
RR型:将不平衡节点左旋
SB树
满足:
size(left) >= size(right->left)、size(left) >= size(right->right);
size(right) >= size(left->left)、size(right) >= size(left->right);
BST+AVL+SB相关推荐
- BST AVL 红黑树 B B+树
二叉搜索树(BST) 简明BST递归定义(Knuth Donald): 对于任意一个节点均满足: 1. 所有位于左子树的节点值均比该节点值小 2. 所有位于右子树的节点值均大于等于该节点值 3. 所有 ...
- 3. 数据结构--二叉树 BST AVL树 Huffman
数据结构–二叉树 KEY:(不敢相信没有堆-) 二叉树的定义及其主要特征 ☑️ 二叉树的顺序存储结构和链式存储结构实现 二叉树的遍历及应用 二叉排序(查找.检索)树 (BST) 平衡的二叉检索树- A ...
- 《恋上数据结构第1季》平衡二叉搜索树、AVL树
AVL树 二叉搜索树缺点分析 改进二叉搜索树 平衡(Balance) 理想平衡 如何改进二叉搜索树? 平衡二叉搜索树(Balanced Binary Search Tree) AVL树 BST 对比 ...
- 真c++ 从二叉树到红黑树(4)之二叉平衡搜索树AVL
此文章为从二叉树到红黑树系列文章的第四节,主要介绍介绍二叉平衡搜索树AVL,当你理解了AVL,红黑树你就理解了一半了! 文章目录 一.前面文章链接~(点击右边波浪线可以返回目录) 二.由BST引入 ...
- 真c++ 从二叉树到红黑树(3)之二叉搜索树BST
此文章为从二叉树到红黑树系列文章的第三节,主要介绍介绍二叉搜索树BST,为AVL和RedBlack打下基础 文章目录 一.前面文章链接~(点击右边波浪线可以返回目录) 二.二叉搜索树BST的定义~ ...
- 树根c语言,03-树1 树的同构 (C语言链表实现)
#include #include #include #include typedef char ElemType; typedef struct BinTree { ElemType data; s ...
- 数据结构 多路查找树 ---------B树和B+树的简单介绍
参考链接:微信公众号 程序员小灰 https://mp.weixin.qq.com/s/rDCEFzoKHIjyHfI_bsz5Rw https://mp.weixin.qq.com/s/jRZMMO ...
- 数据结构-动态查找树表与平衡二叉树 红黑树简单介绍
参考资料 数据结构(严蔚敏) 大话数据结构 百度百科 https://blog.csdn.net/lpp0900320123/article/details/39524947 https://mp.w ...
- 2.14_AVL_tree_AVL树
from 2.13_BST import BiTreeNode, BST AVL树节点类 (继承二叉树节点类) class AVLNode(BiTreeNode):def __init__(self, ...
最新文章
- For each...in / For...in / For...of 的解释与例子
- Spring版本特性:Spring各个版本引入了哪些新特性?
- 未成年人互联网普及率达99% 腾讯等倡议加强青少年网络素养教育
- 解决jupyter notebook输出显示不完整问题
- ASP.NET与MVC架构区别总结
- 互联网晚报 | 12月5日 星期日 | 饿了么启用AI技术研发新菜品;搜狐将布局知识直播;《英雄联盟手游》获选苹果年度游戏...
- 【华为认证考试扫盲】超详细的华为认证入门基础知识,考证必看。
- 入门图形学:ComputeShader
- 或是独体字吗_独体字
- java 只保留字母_java编程问题,急急急!输入一个字符串,如果字符串中存在字母a的次数大于1,则只保留第一个a,...
- 数据结构重点选择题(高分必备)
- Android 应用在后台弹出提示相关的笔记1
- 谈谈我做技术经理的经验和教训
- 咕咕王小谢的C语言之路————第一章 初遇C语言 第三集 变量与常量
- 亲测好用的屏幕录制软件:camtasia2021 mac中文版
- C++实现双人枪战游戏
- 物联卡中心:物联卡能永久使用吗?放手机会不会被封卡
- 设置IE文档模式解决IE浏览器兼容性
- 一位ORACLE DBA大牛离职时候的过往总结
- 《乔布斯传》圈点(末篇)