思维导图:

在这里插入图片描述

归并树的定义:

在这里插入图片描述

例:

在这里插入图片描述在这里插入图片描述

另一种理解方式:
1、每个数字代表了一个归并段的长度
2、121就代表了总的数据元素的个数
3、树的深度代表了读或写的次数
4、总的IO的读写次数=(读+写)✖元素个数 = (2+2)×121=484

但是这个只是一颗普通的二叉树,由上图可知,想要IO读写次数最少,就要带权路径长度最优,带权路径长度最优时为哈夫曼树

最佳归并树(本质是一颗哈夫曼树):

在这里插入图片描述当归并树为哈夫曼树时,IO次数最小

所有的初始归并段一定能构造出一颗完美的哈夫曼树吗?

答:不是
在这里插入图片描述
我们称这种初始归并段不够而补充的段称为虚短

怎么选择补充虚短的个数?

在这里插入图片描述

在这里插入图片描述

总的节点个数 = 孩子节点总数+根节点,即:
度为0的节点+度为m的节点 = 孩子节点总数+根节点,即:
n0 + nm = m * nm + 1,即:
n0 = (m-1)nm + 1

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐