计算带权路径长度方法:第一棵树:有4个结点1,3,4,5;从顶点到权重为1的点需要经过两条边;所以权重为1的结点;结点路径长度是1*2=2;其他结点从顶点到最后也是经过两条边;所以带权路径长度是1*2+3*2+4*2+5*2 = 26;
第二棵树:从顶点到权重为5的结点长度是1;顶点到4的长度是2;顶点到1的长度是3;顶点到3的长度是3;所以带权路径长度是:1*5+2*4+3*1+3*3 = 25;
其他几个树带权路径的计算长度也是一样的。
其中最小的值25;所以称中间两棵树是哈夫曼树;或者是 最优二叉树。
构造最优二叉树:第一步先挑出权最小的两个结点;这里a和c;然后组成一棵树;这里是第二张图;这棵树的权路径之和是3,然后用剩下最小的权路径结点;与这个二叉树结合;得到是第三张图;得到的结点权值之和是3;然后用b结点与权值5这个结点结合;得到权值是8的结点;最后;就得到最后这张图;最优二叉树。