小沙有一个字符集,以及该字符集每个字符出现的频率表,现在想要构建一颗哈夫曼树,由于小沙喜欢短小的树,所以他希望这颗哈夫曼树的树高尽可能的小,m 很大,但每个字符出现的出现的频率都比较接近,甚至有许多都是重复的,b 交给你,想要请你设计一个解决方案,要求保证编码树是一颗哈夫曼树的情况下,哈夫曼树树高最小,请你告诉小沙这个最小值为多少。
“你为什么不问问神奇海螺呢?” 小沙有一个字符集,以及该字符集每个字符出现的频率表,现在想要构建一颗哈夫曼树,由于小沙喜欢短小的树,所以他希望这颗哈夫曼树的树高尽可能的小。 对于小沙需要构建的这颗哈夫曼树一共有 m m 个节点,小沙发现虽然这个 m m 很大,但每个字符出现的出现的频率都比较接近,甚至有许多都是重复的。 小沙将其整理了一下,发现字符的出现频率都在 1 1~ n n 之间, 所以小沙将其整理完后的数组 b b 交给你,想要请你设计一个解决方案,要求保证编码树是一颗哈夫曼树的情况下,哈夫曼树树高最小。 其中 b_i b i 的值代表出现频率为 i i 的字符有多少个。 请你告诉小沙这个最小值为多少。 注:根节点高度从0开始。
(图片来源网络,侵删)