数据结构--二叉树

目录

有序二叉树:

平衡二叉树:

234树:

红黑树

红黑树特点:

为什么红黑树是最优二叉树?

哈夫曼树和哈夫曼编码


有序二叉树:

平衡二叉树:

在有序二叉树的基础上得来的,且左右子树的高度差绝对值不能超过1.

调整策略:

1、LL型调整策略

注意要找造成不平衡节点的最近的不平衡节点

2、RR型

10插入后,5是不平衡的节点,往右走两步。中间节点为8

3、LR型

转换为LL型

4、RL型

平衡二叉树太耗费资源,引入了红黑树。红黑树的基础是234树

234树:

变成四个节点的后,取中间节点向上走一层,连接两端

红黑树

二节点用黑色表示,三节点用黑红,四节点用黑红红表示,然后按照234树变成红黑树。

红黑树特点:

1、红黑树只有红色和黑色两种颜色

2、根节点一定是黑色的,

3、叶子节点是存在的,统一为黑色

4、如果一个节点的值是红色的那么他的子节点的值一定是黑色的

5、从根节点到任意一个叶子节点,路径上的黑色节点数目相同。(黑色节点数就是234数的高度)

为什么红黑树是最优二叉树?

最长链不超过最短链的二倍

时间复杂度比有序二叉树更稳定,平衡调整更简单

哈夫曼树和哈夫曼编码

自定义变长编码表容易引起歧义

相关推荐
٩( 'ω' )و2609 分钟前
栈和队列(数据结构初阶)
数据结构
伊一大数据&人工智能学习日志34 分钟前
机器学习经典无监督算法——聚类K-Means算法
人工智能·算法·机器学习
✿ ༺ ོIT技术༻43 分钟前
剑指offer第2版:树系列(一)
数据结构·算法·leetcode·剑指offer
I_Am_Me_1 小时前
【专题一 递归】24. 两两交换链表中的节点
算法
三月七(爱看动漫的程序员)2 小时前
LARGE LANGUAGE MODELS ARE HUMAN-LEVEL PROMPT ENGINEERS
大数据·人工智能·算法·语言模型·自然语言处理·prompt
羑悻的小杀马特2 小时前
【狂热算法篇】探秘图论之 Floyd 算法:解锁最短路径的神秘密码(通俗易懂版)
c++·算法·图论·floyd算法
吕小明么2 小时前
腾讯AI Lab与上交大探索模型“过度”思考
人工智能·神经网络·算法·aigc·agi
smj2302_796826523 小时前
解决leetcode第3418题机器人可以获得的最大金币数
python·算法·leetcode
KeyPan3 小时前
【机器学习:三十三(二)、支持向量机(SVM)的核函数:概念、类型与应用】
人工智能·神经网络·算法·机器学习·支持向量机·数据挖掘
dundunmm3 小时前
【论文阅读】End-to-End Adversarial-Attention Network for Multi-Modal Clustering
论文阅读·算法·数据挖掘·聚类·对抗学习·核映射·多视图聚类