C语言数据结构实习报告-哈夫曼编码-学生信息管理系统.doc

C语言数据结构实习报告-哈夫曼编码-学生信息管理系统.doc

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言数据结构实习报告-哈夫曼编码-学生信息管理系统

西 安 邮 电 大 学 (计算机学院) 数据结构与算法课程设计报告 题 目:哈夫曼编码/学生信息管理系统 专业名称: 班 级: 学生姓名: 学号(8位): 指导教师: 设计起止时间 设计目的 1.通过设计实现哈夫曼编译码,进一步加深对树的应用与操作能力 2.通过设计一个小型的管理系统,来进一步加深、巩固《C语言程序设计》以及《数据结构与算法》课程中所学习的基本理论知识,用理论联系实际;进一步培养自身综合分析问题、解决问题的能力; 3.掌握C语言程序的基本结构和基本的数据的结构;熟悉C语言编辑、编译、调试、运行的过程; 4.了解程序设计的一般方法,结构化程序设计思想;熟悉常用的程序结构与算法,提升自身实践操作能力 设计内容 求数据的哈夫曼编码 哈夫曼树又叫最优二叉树,可以来构造最优编码,用于信息传输、数据压缩等方面。本次设计主要是实现哈夫曼树的构造,以及求哈夫曼编码,达到可以根据用户的需求输入任意个字符及其权值,之后便可以给出各个字符的编码值的要求。 2.学生信息管理系统 应用《C语言程序设计》以及《数据结构与算法》课程中的结构体、函数、指针、文件、链表等内容,设计一套完整学生信息管理系统,满足对一个班的或者更多的学生基本信息进行输入、输出、查询、删除等管理的要求。 本系统设计,主要运用了链表,用链表来完成各项功能,并对文件进行写入于读取操作,将学生的基本信息全部从一个指定的文件中导出并显示出来,然后运用其它函数模块依次进行增加、修改、查询、删除,并随时可以保存和显示已有学生的信息。 三.设计方案 .概要设计 求哈夫曼编码设计 (l)初始化。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树。 (2)编码。利用已建好的Huffman树,从叶子结点开始,沿着结点的双亲追溯到根节点,追溯过程中,每上升一层,左分支得到‘0’,右分支得到‘1’,。将得到的编码依次保存到数组里去,最后把字符及编码输出出来 哈夫曼编码程序各个模块详细的功能描述 选择函数:在数组ht的前i-1项中选取出双亲为零,且权值最小的两个结点 创建哈夫曼树函数: 通过初始化结点,接受用户录入的信息,构建出哈夫曼树。 求哈夫曼编码函数:通过对结点遍历,及对其双亲的追溯,给出各个数据的哈夫曼编码 学生信息管理系统各个模块详细的功能描述 登陆模块:用户可以选择注册、登陆、退出功能。只有注册,并成功登陆后方可进行学生信息管理。 显示模块:可以将已指定的文件中的学生信息、修改后的学生信息全部显示出来。 增加模块:可以在此功能中增加任意多个学生信息,并保存 修改模块:可以对你输入要修改的序号的学生信息,进行修改 ,并保存到文件中 查询模块:可以对你根据序号、或者学号查询对应同学的相信信息 删除模块:可以对你输入要删除的序号的学生信息,进行删除 .详细设计 功能函数的调用关系图; 哈夫曼编码程序主要函数有: 选择函数:select(HuffmanTree ht,int n,int *s1,int *s2) 创建哈夫曼树函数:CrtHuffmanTree(HuffmanTree ht,int n) 求哈夫曼编码函数:CrtHuffmanCodel(HuffmanTree ht,int n) 其调用关系如下 学生信息管理系统主要包含以下函数: 1.登陆函数:denglu(); 2.注册函数:zhuce(); 3.显示函数:DispList(LinkList L ); 4.增加信息函数:ListInsert(LinkList L);5.修改函数:Modily(LinkList L) ; 6.删除函数:ListDelete(LinkList L) 7.查询函数:GetElem(LinkList L); 它们调用的关系如下图: 哈夫曼编码的流程图 3.学生信息管理系统各功能函数的数据流程图; 登陆函数: 显示函数: 增加学生信息函数: 删除函数: 查找函数: 修改函数: 4.哈夫曼编码的重点设计及编码 利用已建好的Huffman树,从叶子结点开始,沿着结点的双亲追溯到根节点,追溯过程中,每上升一层,左分支得到‘0’,右分支得到‘1’。将得到的编码依次保存到数组里去,最后把字符及编码输出出来。详细设计见源程序中#include stdio.h #include stdlib.h #include malloc.h #include string.h #includeconio.h #define N 20 //定义结构

文档评论(0)

cuotian + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档