笔试经验总结之——霍夫曼树的构造
关于霍夫曼树,是笔试中选择题比较常出的,介绍也比较多,之所以写这篇博客是因为做题遇到了特殊情况,所以在这里记录一下,备忘。
首先霍夫曼树的构造是给出一组权重值,构造出霍夫曼树,然后求出其加权路径和。好像各种书上讲的略有不同,记得当时考研的时候也是以考研高校的专业课答案为准的,这里是以leetcode上企业真题答案为准总结的方法。
例题中有一组权重值{3,5,6,8,9,11}求霍夫曼树加权路径和。
选取其中最小的两个3和5构成叶子节点,将其和8放入权重组中继续选出最小的,然后坑就来了,这里有两个8,能不能用这个和的8代替原来的权重8和6进行二次组合呢?按照上述的做法得出的图是这样的(脊椎病警告。。。),结果是92。
按照真题答案是106,应该这样做的(再次脊椎病警告。。。)
也就是不能代替,在此记录一下,下次再遇到类似的题核对一下是否正确。。。