软件设计师 --哈夫曼树的一个经典问题
生活随笔
收集整理的這篇文章主要介紹了
软件设计师 --哈夫曼树的一个经典问题
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目如下:
有很多人反應(yīng),他們?cè)趺醋龆甲霾怀稣_的答案,結(jié)果發(fā)過(guò)他們畫(huà)的哈夫曼樹(shù)的圖以后,發(fā)現(xiàn)圖完全是錯(cuò)誤的;
如下圖所示:
為什么錯(cuò)誤的,因?yàn)樵谟龅接袃蓚€(gè)權(quán)重為17的樹(shù)的時(shí)候,沒(méi)有遵循選擇矮樹(shù)的原則;
正確的哈夫曼樹(shù)如下:
這樣就能得出正確答案了。
總結(jié):在繪制哈夫曼樹(shù)的時(shí)候,要遵循一下原則:
(1)左子樹(shù)的權(quán)重小于右子樹(shù)(這個(gè)一般人都會(huì)注意的,因?yàn)楣蚵鼧?shù)是二叉樹(shù),是有序的)
(2)遇到權(quán)重相同的,選比較矮的那個(gè)(why?因?yàn)檫@樣我們的整個(gè)哈夫曼樹(shù)才會(huì)盡可能的矮,編碼才盡可能的短);
生成過(guò)程如下:
總結(jié)
以上是生活随笔為你收集整理的软件设计师 --哈夫曼树的一个经典问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 吴恩达深度学习编程作业汇总
- 下一篇: activiti5第四弹----serv