赫夫曼树的建立原则是什么
本帖最后由 付笑 于 2013-9-18 20:04 编辑不明白的地方是插入队列的子树 如果在一棵子子树之前,那么下回建立的时候这棵树是做左子树还是做右子树啊,看书上即使是排在左子树的位置 也要移到右子树去,是有这样的要求吗?或者其实在左右两边都可以呢?
比如{3,5,7,8,11,14,23,29}
3,5得到一棵树 A,然后插入 得到
{7,8,A(8),11,14,23,29};
7,8得到树B,插入后得到
{A(8),11,14,B(15),23,29}
到这一步,A是做左子树还是做右子树呢?或者都可以,我看书上就做右子树的,但是好像在左边也可以啊
在左边和在右边得出来的是两棵完全不同的树啊,哪个是正确的呢
求一个权威解答啊,谢谢了
其实没什么区别,哈夫曼树一是用来加密的二是用来求最短路径的。所以怎么构建一个树,没多大区别,只要是最小的就行了 这啥东东,没看头,看不懂 这个的问答大神级别的 个的问答大神级别的 赫夫曼树是求平均最短路径的东西,最终目的是获得最优码值,只有叶子节点是有用的,求码分为从根向叶子求以及从叶子向根求两种方法。 我是进来看看的{:1_1:}{:1_1:}{:1_1:} 额,用你的话说A(8)和7结合了得到B(15)那么这就已经是二叉树了,A(8)就不存在了。。至于放左放右效果是一样的,你可以自己算一下ASL的直。。。 原则是WPL最小
页:
[1]