当前位置: 首页 > 知识库问答 >
问题:

哈夫曼码:斐波那契频率的最短和最长码

孟自强
2023-03-14

对于具有斐波那契频率的n个字符,最短代码和最长哈夫曼代码的长度是多少?

据我所知,如果我们建一棵树,它看起来就像一根树枝,从根到最低的叶子,每个节点的长度都是1。当我们从n-2个数字中创建第一个节点时,该节点的频率将为F[n]-1和F[n]

我们创建的树显然是一个不平衡的树,我认为这是不好的。

如果这是创建树的最佳方式,那么创建树的最长方式的长度是多少?如果这不是最佳方式,那么最短方式的长度是多少?

我对计算机科学不熟悉,我真的很想得到一个好的解释。

共有1个答案

公羊英达
2023-03-14

最短的代码长度为1,最长的代码长度为n-1。长度为n-1的两个符号,1中每个长度有一个符号。。n-2。

只有一棵最优树,就是它。不平衡并没有什么不好的。事实上,必须以这种方式使用最少的比特数以这些频率对这些符号进行编码。

我不知道你说的“最短”或“最长”是什么意思。

 类似资料:
  • 主要内容:哈夫曼树相关的几个名词,什么是哈夫曼树,构建哈夫曼树的过程,哈弗曼树中结点结构,构建哈弗曼树的算法实现赫夫曼树,别名“哈夫曼树”、“最优树”以及“最优 二叉树”。学习哈夫曼树之前,首先要了解几个名词。 哈夫曼树相关的几个名词 路径: 在一棵树中,一个结点到另一个结点之间的通路,称为 路径。图 1 中,从根结点到结点 a 之间的通路就是一条路径。 路径长度:在一条路径中,每经过一个结点,路径长度都要加 1 。例如在一棵树中,规定根结点所在层数为1层,那么从根结点到第 i 层结点的路径长度

  • 我试图想出一个程序,从用户那里获取任何数字,并生成斐波那契码的第n个数字。当我完成工作时,它会显示下一个,而不是我需要的。例如,我正在寻找第11个#和它的生产233而不是144。这是我的代码:

  • 主要内容:递归生成斐波那契数列,总结公元 1202 年,意大利数学家莱昂纳多·斐波那契提出了具备以下特征的数列: 前两个数的值分别为 0 、1 或者 1、1; 从第 3 个数字开始,它的值是前两个数字的和; 为了纪念他,人们将满足以上两个特征的数列称为斐波那契数列。 如下就是一个斐波那契数列: 1 1 2 3 5 8 13 21 34...... 下面的动画展示了斐波那契数列的生成过程: 图 1 斐波那契数列 很多编程题目要求我们输

  • 本文向大家介绍手写代码:斐波那契数列相关面试题,主要包含被问及手写代码:斐波那契数列时的应答技巧和注意事项,需要的朋友参考一下 参考回答:

  • 题目链接 NowCoder 题目描述 求斐波那契数列的第 n 项,n <= 39。 <!--1}\end{array}\right." class="mathjax-pic"/> --> 解题思路 如果使用递归求解,会重复计算一些子问题。例如,计算 f(4) 需要计算 f(3) 和 f(2),计算 f(3) 需要计算 f(2) 和 f(1),可以看到 f(2) 被重复计算了。 递归是将一个问题划分

  • Python3 实例 斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。 Python 实现斐波那契数列代码如下: 实例(Python 3.0+)# -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com