基于C++的通讯发报应用课程设计 课程报告论文+任务书+源码
目 录1 题目介绍 ......................................................... 11.1 问题描述 ....................................................... 11.1.1 问题背景 ................................................... 11.1.2 主要任务 ................................................... 11.2 问题分析 ...................................................... 12 系统总体设计 ..................................................... 22.1 系统总体功能 .................................................. 22.2 系统总体流程 .................................................. 33 数据结构设计 ..................................................... 43.1 HUFFMAN 类 ...................................................... 43.2 HUFFMAN NODE 结构体 .............................................. 54 功能模块设计 ..................................................... 64.1 输入字符以及对应的频度模块 .................................... 64.2 解码模块 ...................................................... 75 系统测试与运行结果 ............................................... 85.1 调试及调试分析 ................................................ 85.2 测试用例 ...................................................... 86 总 结 ........................................................... 13参考文献 ........................................................... 14附 录 (程序清单) ............................................... 151 题目介绍1.1问题描述在通讯发报应用中,需要让应用对输入的字符集以及字符频度进行处理,构造哈夫曼树,并进行哈夫曼编码。比如输入以下内容:字符集: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字符频度:186,64,13,22,32,103,21,15,47,571,5,32,20,57,63,15,1,48,51,80,23,7,18,2,16,381.1.1问题背景在通讯发报中,需要对发出的字符串进行缩短,进行最大化的无损压缩,由此想到构造哈夫曼树,并进行哈夫曼编码,频度最高的字母使用较短的编码,频度低的字母使用较长的编码。1.1.2主要任务(1)由用户来输入初始字符集、相应字符及字符频度。(2)输入一个要发报的字符串,将其编码后发报。(3)接收一组发报信息,将其还原为字符序列。