数学系09级课程设计_第1页
数学系09级课程设计_第2页
数学系09级课程设计_第3页
数学系09级课程设计_第4页
数学系09级课程设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构课程设计,布置3个题目,任选两个。 设计报告内容: 标题(题目) 问题描述 数据结构描述 1)类型描述; 2)用图示法举一个例子 4. 主要算法描述: 测试方法描述 -如何输入测试数据,会出现的结果。 特点(特色、扩展的功能、.) 在两个题目的报告完成后,最后给出本次设计的小结(感想、建议等) 附录;源代码,要求程序风格清晰易理解,有充分的注释。,一、基于哈夫曼编码的数据压缩/解压程序 1. 问题描述:将任意一个指定的文本文件中的字符进行哈夫曼编码,生成一个编码文件(压缩文件)和哈夫曼树文件;反过来,可将一个压缩文件解码还原为一个文本文件。 2. 要求: 1)可设计一个菜单:,2)选择

2、C时: 输入一个待压缩的文本文件名称(可带路径)。 如:D:lulu.txt 统计文本文件中各字符的个数作为权值,生成哈夫曼树; 将哈夫曼树存入磁盘文件中。 将文本文件利用哈夫曼树进行编码,生成压缩文件。 压缩文件名称=文本文件名.COD 如:D:lulu.COD 哈夫曼树文件名称=文本文件名.hfm 如:D:lulu.hfm 3) 选择D时: 输入一个待解压的压缩文件名称(可带路径 ) 如:D:lulu.COD 从对应的哈夫曼文件中读出哈夫曼树。,利用哈夫曼树将编码文件中的编码序列解码;生成(还原)文本文件。 文本文件名称=压缩文件名+“_new.txt” 如:D:lulu_new.txt

3、4)选择L时: 输入一个待压缩的文本文件名称(可带路径)。 如:D:lulu_new.txt 显示出该文本文件的内容,3. 功能扩展(自己定制): 编码使用二进制位,利用位运算进行真正的数据压缩。 可对任何文件进行压缩。 显示出各种重要信息,如压缩率、各字符的哈夫曼编码表 .,二、求复杂表达式的值(课本343页综合实验题2) 问题描述 输入一个含有运算符和运算函数的表达式,计算其结果。 要求 1) 以字符串方式输入一个复杂的表达式; 表达式中包括:数值(整数、实数)、一般运算符(正号,负号,加、减、乘、除、求模、乘方、括号); 如输入: “123*(45.7/25-203+12.4*(123%

4、4)” 2) 利用栈,根据各运算符的优先度进行数值计算,显示结果 3) 循环回1),继续下个表达式的输入。,功能扩展(自己定制): 1) 表达式中可含有运算函数: abs绝对值,sqrt开方 exp-指数函数,ln-对数,sin,cos,tan 如输入:“123.45*sin(abs(-23)*3.14)+exp(3)” 上述函数在C+中有对应的函数调用(fabs, sqrt, exp, log, sin, cos, tan)。 2) 增加自定义的运算,如阶乘:30!等 3) 自己进一步扩充. 如显示计算过程等,三、一元多项式的计算 问题描述 将多个多项式输入并存储在内存中,然后对多项式进行加

5、,减,数乘等运算。 要求: 1) 可设计菜单:,2) 选I:输入一个或多个多项式。 如输入:f= 3,0 -7,4 6,5 0,-1 3-7x4+6x5 g= 4,1 6,4 -57 0,-1 4x1+6x4-5x7 3) 选C:输入计算表达式,然后计算结果并显示 如输入:h=f+g 显示结果:h= 3+4x1-1x4+6x5-5x7 如输入:k=f-g 显示结果:k= 3-4x1-13x4+6x5+5x7 4) 选L:显示内存中现有的多项式。 如: 显示出: f= 3-7x4+6x5 g= 4x1+6x4-5x7 h=3+4x1-1x4+6x5-5x7,5) 每个多项式必须用单链表来存储: typedef struct node float coef; /系数 int exp; / 指数 struct node *next; / 指向下个结点的指针 nodetype; 3. 功能扩展(自己定制): 可增加两个多项式的相乘;如 f*g 可增加1个多项式的求导数;如 f .,说明,评分方法: 程序50% 文档50% 是否按要求完成各部分文档的撰写; 测试方法和测试数据的设计 总结 源程序的风格及必要的注释 将所有源程序、可执行文件和课程设计报告(若有必要可增

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论