4.3.3 最优二叉树+二叉查找树

文章目录

基本概念

最优二叉树=哈夫曼树

哈夫曼树:带权路径长度最短的树。

路径:一个结点到另一个结点的通路。

路径长度:路径上的分支数量。

树的路径长度:根到每个叶子结点路径长度之和。

结点带权路径长度:结点到根的路径长度乘以结点权值。

树的带权路径长度:所有叶子结点带权路径长度之和。

哈夫曼方法

① 将n个权值转换成n棵二叉树的根结点,二叉树的集合为F。

② F中根结点权值最小的2棵树X, Y,组成新树Z的左、右子树,根结点为左右子树权值之和。

③ 删除F中X,Y这2棵树,新树Z加入F。

重复②和③,直至F中剩下1颗树,这就是哈夫曼树。

应用:通信编码译码

字符和权值用哈夫曼方法形成哈夫曼树,树的左分支标0,右分支标1。根到叶子路径的01字符串就是字符的编码。

helloworld的编码为

0000 0001 001 001 100 101 100 01 001 11

译码时,按照01字符串的顺序,从哈夫曼树的根结点开始读取,找到叶子结点,就返回对应字符。然后回到根结点,继续寻找,直至01字符串读取完毕。

二叉查找树

二叉查找树=二叉排序树=二叉检索树

具有3个性质:

  • 左树所有结点的值均小于根结点
  • 右树所有节点的值均大于根节点
  • 左、右子树也是二叉查找树

二叉查找树中序遍历,可以得到递增序列。

相关推荐
little~钰2 分钟前
线段树和扫描线结合
数据结构·算法
阿恩.7704 分钟前
国际会议:评职称、申博、考研的硬核加分项
人工智能·经验分享·笔记·计算机网络·能源
食品一少年4 分钟前
DAY4-10:DevEco Studio 使用 HarmonyOS 模拟器运行应用全流程笔记
笔记·华为·harmonyos
dragoooon347 分钟前
[优选算法专题十.哈希表 ——NO.58~59存在重复元素 II、字母异位词分组]
数据结构·散列表
CoderYanger7 分钟前
动态规划算法-简单多状态dp问题:11.按摩师
开发语言·算法·leetcode·职场和发展·动态规划·1024程序员节
工程师平哥8 分钟前
ARCH-04 BSW服务层
笔记·嵌入式硬件·mcu·编辑器
秋深枫叶红8 分钟前
嵌入式第二十八篇——数据结构——队列
数据结构·学习·算法
2***b8813 分钟前
【语义分割】12个主流算法架构介绍、数据集推荐、总结、挑战和未来发展
算法·架构
唯道行18 分钟前
计算机图形学·20 绘制(Implementation)1与Cohen-Sutherland算法
人工智能·算法·计算机视觉·计算机图形学·opengl
hssfscv19 分钟前
Java学习笔记——拼图小游戏
java·笔记·学习