额额,王道书上自己说哈夫曼树是带权路径长度最小的二叉树,结果后面习题来了个度为m的哈夫曼树让人猝不及防。上网了解后得知在该树中结点的度均为m或者0(刚好的情况下)。

题目是:若度为m的哈夫曼树中,叶子结点个数为n,则非叶子结点个数为( ⌈(n-1)/(m-1)⌉ )

个人理解是 树的分支数等于m × 度为m的结点数,同时也等于树的总结点数-1(所有树通用的性质),这样列等式:

m *a= m+n-1

解得非叶子结点个数a=(n-1)/(m-1),当然这是结点个数正好的情况,不正好的情况只能是有一个结点的度是小于m,此时相对于正好的情况来说叶子结点个数n更小(非叶子结点数与正好的情况相同),所以此时按式子求出的非叶子结点的个数是小于原情况的一个非整数,需要向上取整,变成( ⌈(n-1)/(m-1)⌉ )。

“初学者不懂事,写着玩的,大伙别太在意,”

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐