1、数据结构课程设计-Huffman 编码 学号: 姓名: 1 数据结构课程设计数据结构课程设计 题目:题目: Huffman 编码编码 姓名:姓名: 班级:班级: 学号:学号: 指导老师:指导老师: 日期:日期: 2013 年年 6 月月 24 日日 数据结构课程设计-Huffman 编码 学号: 姓名: 2 前言 3 课程设计报告 5 一实验目的 5 二实验题目:赫夫曼编码. 7 1.问题描述 7 2.需求分析 7 三. 概要设计 9 四. 详细设计 .11 1.设计思想 .11 五. 测试分析 15 六. 使用说明 17 七. 测试结果 18 八. 附录 . 19 1.源代码 . 19 2.
2、运行结果 24 数据结构课程设计-Huffman 编码 学号: 姓名: 3 前言前言 随着计算机的普遍应用与日益发展, 其应用早已不局限于简单 的数值运算,而涉及到问题的分析、 数据结构框架的设计以及设计最 短路线等复杂的非数值处理和操作。 算法与数据结构的学习就是为以 后利用计算机资源高效地开发非数值处理的计算机程序打下坚实的 理论、方法和技术基础。 算法与数据结构旨在分析研究计算机加工的数据对象的特 性,以便选择适当的数据结构和存储结构, 从而使建立在其上的解决 问题的算法达到最优。 数据结构是在整个计算机科学与技术领域上广泛被使用的术 语。它用来反映一个数据的内部构成,即一个数据由那些成
3、分数据构 成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和 物理上的数据结构之分。 逻辑上的数据结构反映成分数据之间的逻辑 关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。 数据结构是数据存在的形式。 数据结构主要介绍一些最常用的数据结构,阐明各种数据结 构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行 各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。数 据结构是介于数学、 计算机软件和计算机硬件之间的一门计算机专业 的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及 人工智能等的重要基础, 广泛的应用于信息学、 系统工程等各种领域。 数
4、据结构课程设计-Huffman 编码 学号: 姓名: 4 学习数据结构是为了将实际问题中所涉及的对象在计算机中 表示出来并对它们进行处理。通过课程设计可以提高学生的思维能 力,促进学生的综合应用能力和专业素质的提高。 数据结构课程设计-Huffman 编码 学号: 姓名: 5 课程设计报告课程设计报告 一一实验实验目的目的 数据结构作为一门学科主要研究数据的各种逻辑结构和存储结 构,以及对数据的各种操作。因此,主要有三个方面的内容:数据的 逻辑结构;数据的物理存储结构;对数据的操作(或算法) 。通常, 算法的设计取决于数据的逻辑结构, 算法的实现取决于数据的物理存 储结构。 数据结构是信息的一
5、种组织方式, 其目的是为了提高算法的 效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数 据结构中的数据进行某种操作。 数据结构课程主要是研究非数值计算的程序设计问题中所出现的 计算机操作对象以及它们之间的关系和操作的学科。 数据结构是介于 数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程, 它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的 重要基础,广泛的应用于信息学、系统工程等各种领域。 学习数据结构是为了将实际问题中所涉及的对象在计算机中表示 出来并对它们进行处理。通过课程设计可以提高学生的思维能力,促 进学生的综合应用能力和专业素质的提高。 通过此次课程
6、设计主要达 到以下目的: 1、了解并掌握数据结构与算法的设计方法,具备初步的独立分 析和设计能力; 数据结构课程设计-Huffman 编码 学号: 姓名: 6 2、初步掌握软件开发过程的问题分析、系统设计、程序编码、 测试等基本方法和技能; 3、提高综合运用所学的理论知识和方法独立分析和解决问题的 能力; 4、训练用系统的观点和软件开发一般规范进行软件开发,培养 软件工作者所应具备的科学的工作方法和作风。 数据结构课程设计-Huffman 编码 学号: 姓名: 7 二实验题目:赫夫曼编码二实验题目:赫夫曼编码 1 1. .问题描述问题描述 已 知 某 系 统 在 通 信 联 络 中 只 可 能 出 现8种 字 符 (a,b,c,d,e,f,g,h) , 其概率分别是:0.06, 0.28, 0.07, 0.09, 0.14, 0.21,0.03,0.12 输入 8 种字符的概率;