20182306 哈夫曼编码测试 实验内容 设有字符集:S={a,b,c,d,e,f,g,h,i,j,k,l,m,n.o.p.q,r,s,t,u,v,w,x,y,z}。 给定一个包含26个英文字母的文件,统计每个字符出现的概率,根据计算的概率构造一颗哈夫曼树。 并完成对英文文件的编码和解码。 要求: ...
分类:
其他好文 时间:
2019-11-18 15:37:45
阅读次数:
76
原理:每次最小的两个数,组成左右子树,相加所得的数放回数列重新排序,再选出最小的两个数组成左右子树,和上一个分支的和相差太大的话就另组成一个树,自底向上构建。 这次上课所讲的哈夫曼编码,在实践中出现的问题主要有两个: 1、老师所讲的案例中两数相加后仍为最小,因此只需要一直插入右子树即可自底至顶编完整 ...
分类:
其他好文 时间:
2019-11-16 00:29:11
阅读次数:
83
哈夫曼编码测试实践错误分析 错误情况 错解: 正解: 与答案的对比分析 最优二叉树的构建一般来说都是根据数组从小到大的顺序,从下往上排序。一个父结点就只有两个子结点,而且兄弟结点之间的大小差距应该尽可能小。如果数组中可以找得到差距够小的数字,就直接用数组中的数作为中间结点的兄弟结点(同时也是叶结点) ...
分类:
其他好文 时间:
2019-11-16 00:09:14
阅读次数:
66
一、 实验目的 熟练掌握哈夫曼树的建立和哈夫曼编码的算法实现。 二、 实验内容 根据哈夫曼编码的原理,编写一个程序,在用户输入结点权值的基础上求赫夫曼编码,并能把给定的编码进行译码。 三、 实验要求 (1)初始化:从键盘输入一字符串(或读入一文件),统计出现的字符和每个字符出现的频率,将字符出现的频 ...
分类:
其他好文 时间:
2019-10-18 09:40:40
阅读次数:
190
一 哈夫曼树 1.1 基本概念 + 算法思想 + "贪心算法" (以局部最优,谋求全局最优) + 示例 + 【树论:最优(二叉)数=带权路径最短的树】 + "哈夫曼(树)编码" + 【图论: "最小(代价)生成树" 】 + "普里姆算法(Prim)(加点法,归并点)" + "克鲁斯卡尔(Kruska ...
分类:
编程语言 时间:
2019-09-26 11:41:43
阅读次数:
151
[TOC] 更新、更全的《数据结构与算法》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11407287.html 一、什么是哈夫曼树(Huffman Tree) 如果我们将百分制的考试成绩转换成五分制的成绩,我们 ...
分类:
其他好文 时间:
2019-09-23 18:08:01
阅读次数:
97
简直精妙。 哈夫曼编码? 我用的是dp,这种区间dp的时间复杂度是真的难算!状态转移方程为n的区间dp时间都算作n^3吧。 先把任务从长到短排序,然后看worker在那一层要细分多少?就是位置i和员工数n的dp转移。 但是可以贪心!!!!!!!!!!!!每次都是把时间最短的放在最后,而且这两个必然同 ...
分类:
其他好文 时间:
2019-09-22 10:36:43
阅读次数:
101
压缩编码 "201612 4" 一开始看这题还以为是哈夫曼编码的题目,结果是哈夫曼题目的变形。 哈夫曼编码是每次合并任意两堆石子,而这里的题目是合并相邻的两堆石子,而且这里的合并花费是合并两堆石子加上所有的叶子结点。 参考图解:https://blog.csdn.net/more_ugly_less ...
分类:
其他好文 时间:
2019-09-15 11:10:26
阅读次数:
123
“纠错码”的应用,主要作用是牺牲有效性,换取可靠性。以1/3码率的Turbo码来说,有效位和校验位之比为1:2。 如果说纠错码的“浪费”是经数学证明所不得不添加的冗余,那么另一种“浪费”则是在物理实现上的无奈: 无论是在编码还是在组帧时,常见的操作便是“补零”。只是这里补的零在数学上来看不起任何作用 ...
分类:
其他好文 时间:
2019-08-24 11:42:20
阅读次数:
132
一、分治法 递归,找最大值最小值,整数相乘,归并排序,快速排序,线性时间选择,最近点对问题 二、动态规划 0-1背包问题 ,矩阵相乘问题,装配线调度问题,最长公共子序列,最优二分检索树,凸多边形最优三角剖分 三、贪心法 背包问题,活动选择问题,哈夫曼编码,最小生成树算法(Kruskal 和 Prim ...
分类:
编程语言 时间:
2019-08-12 23:38:19
阅读次数:
123