登录
首页 » 算法 » 霍夫曼(Huffman)编解码程序

霍夫曼(Huffman)编解码程序

于 2022-03-19 发布 文件大小:13.85 kB
0 262
下载积分: 2 下载次数: 1

代码说明:

main.m 为执行的脚本文件,打开main.m程序直接运行即可得到结果;(2)huffman.m是其中的霍夫曼编码需要调用的子程序;(3)按路径读入文件名为abc.txt的文件,测试时可随意输入一串英文字符,为了方便,已经输入了   wearethefamily的英文字符,使用时将abc.txt文件放于D盘下。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 用户信息管理系统
    在有用户登录的平台中管理用户信息,并对用户密码进行加密,需要有数据库的支持,加密算法采用base64+SHA1,加密后的用户信息存放在数据库中,用户登录的时候进行认证,符合条件的允许登录,不符合的不允许登录。
    2022-02-07 08:48:32下载
    积分:1
  • 模糊数学中典型的卡车倒车入库模拟仿真程序,充分利用了一定的经典的模糊规则,来实现卡车倒车的模拟...
    模糊数学中典型的卡车倒车入库模拟仿真程序,充分利用了一定的经典的模糊规则,来实现卡车倒车的模拟-typical truck reversing the arsenal of simulation procedures and make full use of a certain classic fuzzy rules to achieve the reversal of simulated truck
    2022-06-21 22:34:23下载
    积分:1
  • 摄影测量前方交会源程序
    摄影测量前方交会源程序算法理论过程与前方交会理论一致
    2022-03-14 05:26:06下载
    积分:1
  • 用堆实现优先队列
    用堆实现优先队列-used Heap priority queue
    2022-10-31 17:20:02下载
    积分:1
  • 创建生词库的简单编程
    用C编的一个生词库的创建,包括生词的输入、删除、查找等功能。代码不是很长,但是绝对实用。这是我们大学C语言课的最后作业。
    2022-10-12 03:40:03下载
    积分:1
  • 优化一个变量的函数
    翻译 maninwest@Codeforge 作者:John D. Cook@CodeProject这里介绍一个算法,优化化带有一个变量的函数而不需要导数。通常,需要导数的方法稳定但是慢,不需要导数的方法快捷但是不稳定。这里实现的这个方法稳定且高效。这个方法开始是Richard Brent 实现的。 给定一个函数  f(x) 和一个区间l [a, b], 该方法是找出函数 f(x) 在 [a, b] 区间的最小值。该方法也可以用于找出最大值。要找出最大值,指向传递原函数的反函数。即 f(x) 的最大值出现在-f(x) 的最小值点。Brent 的方法比较稳定。也很容易使用。用户不需要提供导数函数。该方法为了稳定牺牲了一些效率,但是相比其他稳定的方法如黄金分割法,则更加快捷。使用函数这里给出的代码是一个 C++ 函数和使用此函数的示例项目。要在你自己的项目中使用,只需在 Brent.h.头文件中添加#include 即可。最小化函数的主要输入是一个模板化实参,一个函数对象实现目标函数最小化。目标函数必须使用签名 double operator()(double x)实现 Public 方法。例如,这里是一个用于计算函数 f(x) = -x exp(-x) 的函数对象类。 class foo { public: double operator()(double x) {return -x*exp(-x);} };代码需要函数对象而不是函数的主要原因是,需要在应用中优化的函数,除了函数实参外,还要依赖参数。函数对象可以有很多参数,它们在找到一个变量的结果函数最小值前固定。其他实参是函数需要找到最小值的区间的终点,偏差用于停止, 一个输出参数用
    2022-01-26 15:15:42下载
    积分:1
  • Apriori及FP-growth源程序及输出
    不但要输出频繁模式,还要输出频繁模式的支持度(绝对值,即支持度计数)输出文件中每行格式如下:abc: 1000表示输出模式为abc,其支持度为1000
    2023-04-05 04:55:03下载
    积分:1
  • 封装好的C++MD5
    应用背景md5的典型应用是对一段信息(message)产生信息摘要(message-digest),以防止被篡改。比如,在unix下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:  md5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461 这就是tanajiya.tar.gz文件的数字签名。md5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的md5信息摘要。如果在以后传播这个文件的过程中,无论文件的内容发生了任何形式的改变(包括人为修改或者下载过程中线路不稳定引起的传输错误等),只要你对这个文件重新计算md5时就会发现信息摘要不相同,由此可以确定你得到的只是一个不正确的文件。如果再有一个第三方的认证机构,用md5还可以防止文件作者的"抵赖",这就是所谓的数字签名应用。  md5还广泛用于加密和解密技术上。比如在unix系统中用户的密码就是以md5(或其它类似的算法)经加密后存储在文件系统中。当用户登录的时候,系统把用户输入的密码计算成md5值,然后再去和保存在文件系统中的md5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这不但可以避免用户的密码被具有系统管理员权限的用户知道,而且还在一定程度上增加了密码被破解的难度。  正是因为这个原因,现在被黑客使用最多的一种破译密码的方法就是一种被称为"跑字典"的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用md5程序计算出这些字典项的md5值,然后再用目标的md5值在这个字典中检索。我们假设密码的最大长度为8位字节(8 bytes),同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是p(62,1)+p(62,2)….+p(62,8),那也已经是一个很天文的数字了,存
    2022-03-19 09:13:23下载
    积分:1
  • 在MATLAB环境下进行各种曲线拟合,…
    在matlab环境下能进行各种曲线拟合的算法,非常好。-In the matlab environment to conduct various kinds of curve fitting algorithms, very good.
    2022-05-22 17:14:18下载
    积分:1
  • Simple Finite Impulse Response Filter
    Simple Finite Impulse Response Filter
    2022-05-20 20:48:46下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载