尼科智能家居:创建一个含有 n 个数据的 huffman 树需要声明一个多大的空间?

来源:百度文库 编辑:高校问答 时间:2024/04/28 13:56:06
A:一棵含有 n 个叶子节点的 huffman 树,共有2n-1 个节点,需要声明在一个大小为 2n-1 的一维数组。

B:应该声明一个 n+1 的一维数组来存放一个 huffman 树,其中前 n 个元素表示叶子节点,最后一个元素用来表示根节点。

选哪个?
2n-1 还是 n+1 ?
为什么?

2n-1

每个结点只能有两个子结点,要将N个叶子节点组织到一棵树,正好需要n-1个分支结点。

你试着画画就知道了。