早教吧作业答案频道 -->其他-->
大侠们帮我解决这个难题最佳字符编码用freepascal做,急求!在电文传输中,需要将电文中出现的每个字符进行二进制编码。在设计编码时需要遵守两个原则:(1)发送方传输的二进制
题目详情
大侠们帮我解决这个难题 最佳字符编码 用free pascal做,急求!
在电文传输中,需要将电文中出现的每个字符进行二进制编码。在设计编码时需要遵守两个原则:
(1)发送方传输的二进制编码,到接收方解码后必须具有唯一性,即解码结果与发送方发送的电文完全一样;
(2)发送的二进制编码尽可能地短。
下面我们介绍两种编码的方式。
1. 等长编码
这种编码方式的特点是每个字符的编码长度相同(编码长度就是每个编码所含的二进制位数)。假设字符集只含有4个字符A,B,C,D,用二进制两位表示的编码分别为00,01,10,11。若现在有一段电文为:ABACCDA,则应发送二进制序列:00010010101100,总长度为14位。当接收方接收到这段电文后,将按两位一段进行译码。这种编码的特点是译码简单且具有唯一性,但编码长度并不是最短的。
2. 不等长编码
在传送电文时,为了使其二进制位数尽可能地少,可以将每个字符的编码设计为不等长的,使用频度较高的字符分配一个相对比较短的编码,使用频度较低的字符分配一个比较长的编码。例如,可以为A,B,C,D四个字符分别分配0,00,1,01,并可将上述电文用二进制序列:000011010发送,其长度只有9个二进制位,但随之带来了一个问题,接收方接到这段电文后无法进行译码,因为无法断定前面4个0是4个A,1个B、2个A,还是2个B,即译码不唯一,因此这种编码方法不可使用。
假设有一个电文字符集中有n个字符,每个字符的使用频率分别为a1,a2,...,an,现在要求设计一个二进制编码,使得总的编码长度最短。
输入文件格式:
第一行为一个整数n,表示有n个字符。
第二行为以空格格开的n个整数,分别表示对应字符的出现频度,数字均大于0,小于100。
输出格式:
输出只有一行,为对应的n个二进制编码,每个编码之间用空格格开。
例如输入:
8
5 29 7 8 14 23 3 11
输出应为
0001 10 1110 1111 110 01 0000 001
在电文传输中,需要将电文中出现的每个字符进行二进制编码。在设计编码时需要遵守两个原则:
(1)发送方传输的二进制编码,到接收方解码后必须具有唯一性,即解码结果与发送方发送的电文完全一样;
(2)发送的二进制编码尽可能地短。
下面我们介绍两种编码的方式。
1. 等长编码
这种编码方式的特点是每个字符的编码长度相同(编码长度就是每个编码所含的二进制位数)。假设字符集只含有4个字符A,B,C,D,用二进制两位表示的编码分别为00,01,10,11。若现在有一段电文为:ABACCDA,则应发送二进制序列:00010010101100,总长度为14位。当接收方接收到这段电文后,将按两位一段进行译码。这种编码的特点是译码简单且具有唯一性,但编码长度并不是最短的。
2. 不等长编码
在传送电文时,为了使其二进制位数尽可能地少,可以将每个字符的编码设计为不等长的,使用频度较高的字符分配一个相对比较短的编码,使用频度较低的字符分配一个比较长的编码。例如,可以为A,B,C,D四个字符分别分配0,00,1,01,并可将上述电文用二进制序列:000011010发送,其长度只有9个二进制位,但随之带来了一个问题,接收方接到这段电文后无法进行译码,因为无法断定前面4个0是4个A,1个B、2个A,还是2个B,即译码不唯一,因此这种编码方法不可使用。
假设有一个电文字符集中有n个字符,每个字符的使用频率分别为a1,a2,...,an,现在要求设计一个二进制编码,使得总的编码长度最短。
输入文件格式:
第一行为一个整数n,表示有n个字符。
第二行为以空格格开的n个整数,分别表示对应字符的出现频度,数字均大于0,小于100。
输出格式:
输出只有一行,为对应的n个二进制编码,每个编码之间用空格格开。
例如输入:
8
5 29 7 8 14 23 3 11
输出应为
0001 10 1110 1111 110 01 0000 001
▼优质解答
答案和解析
去查找哈夫曼编码相关知识,再数据结构中有一个最优二叉树(哈夫曼树),我记得这个好像是哈夫曼树的例题
看了大侠们帮我解决这个难题最佳字符...的网友还看了以下:
求用MATLAB编制方程求根的二分法和Newton法的 Matlab 程序!求用MATLAB编制方 2020-05-17 …
育才小学二年级共有学生198名,编号分别为1-198,其中二(3)学生的编号是100-147,二( 2020-06-10 …
祈求哪位大侠帮忙编化学口诀物质的摩尔质量的单位是g/mol,只有当质量以克为单位时,物质的摩尔质量 2020-06-21 …
商店中推行打包促销活动,每6个商品为一包.第一包中每个商品的编号依次为3,6,9,12,15,18 2020-06-25 …
(请教各位大侠)二次项不为1的二元一次不等式配方二次项为1的不等式配方,我掌握了,但稍微复杂的二次 2020-07-03 …
侠林序陈继儒天上无雷霆,则人间无侠客。伊尹,侠始也。孟子推以圣之任,而任侠从此始矣。微独孟氏,孔子 2020-07-03 …
短语理解请问:"刀中之刀、父亲中的父亲、大侠中的大侠、王中之王、警察中的警察”;“重中之重、难中之 2020-07-23 …
英语真题做第二遍的时候怎么做?做第二编的时候重点是看什么?是着重分析文章、结构,还是着重做题?因为我 2020-12-02 …
word中二级标题怎么编辑怎么随着一级标题改动自动编号如果我的一级标题为:“第一章,第二章,第三章. 2020-12-05 …
各位大侠:在编程赋值语句中“=”左边能不能是变量,就是在循环语句中:第一次循环把一个变量赋给a,第二 2020-12-31 …