软件设计师 --哈夫曼树的一个经典问题
生活随笔
收集整理的這篇文章主要介紹了
软件设计师 --哈夫曼树的一个经典问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目如下:
有很多人反應,他們怎么做都做不出正確的答案,結果發過他們畫的哈夫曼樹的圖以后,發現圖完全是錯誤的;
如下圖所示:
為什么錯誤的,因為在遇到有兩個權重為17的樹的時候,沒有遵循選擇矮樹的原則;
正確的哈夫曼樹如下:
這樣就能得出正確答案了。
總結:在繪制哈夫曼樹的時候,要遵循一下原則:
(1)左子樹的權重小于右子樹(這個一般人都會注意的,因為哈夫曼樹是二叉樹,是有序的)
(2)遇到權重相同的,選比較矮的那個(why?因為這樣我們的整個哈夫曼樹才會盡可能的矮,編碼才盡可能的短);
生成過程如下:
總結
以上是生活随笔為你收集整理的软件设计师 --哈夫曼树的一个经典问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吴恩达深度学习编程作业汇总
- 下一篇: activiti5第四弹----serv