数据结构课程设计 赫夫曼加密算法

一、实验目的  

        通过课程设计,巩固和加深对线性表、栈、队列、字符串、树、图、查找、排序等理论知识的理解;掌握现实复杂问题的分析建模和解决方法(包括问题描述、系统分析、设计建模、代码实现、结果分析等);提高利用计算机分析解决综合性实际问题的基本能力。 

二、需求分析  

1、文件加密核心算法(赫夫曼编码)设计  

文件加密的核心算法是赫夫曼编码,赫夫曼编码的完成首先建立在赫夫曼树的创建,在此之前要完成编码字符的权值计算,依照题意:  

 1、输入26个字符的权值。  

 2、 依次找出最小的权值,创建赫夫曼树HuffmanTree。  

 3、赫夫曼树创建完毕,即可进行字符串的编码和解码工作。核心算法即完成。

2、功能要求和说明

在一个加密应用中,要处理的信息来自下面的字符集,各个字符的相关使用频度如下:

字符 空格 A  B  C  D   E  F  G   H  I   J  K  L  M

频度 180  64 13 23 32 103 22 15  47 57  1  5  31 20

字符 N  O   P  Q  R   S   T   U  V  W  X  Y   Z 

频度 55 63 15  1  48  56  80  25 7 18  2  16  1

现请编写程序你实现如下功能:

(1)运行时,由用户输入来初始化字符集大小和相应用字符。

(2)输入一个要加密的字符串,将其加密。

(3)输出解密字符串。

三、系统实现

1、输入权值

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值