数据结构综合程序设计算法数据结构课程设计报告.doc

数据结构综合程序设计算法数据结构课程设计报告.doc

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

重 庆 理 工 大 学 课程设计 课程 算法与数据结构 题目 数据结构综合程序设计 院系名称 计算机科学与工程学院 班 级 0837-2班 学生姓名 刘天龙 学号 10803070215 指导教师 陈媛 评阅教师 陈媛 时 间 2010.1.11-2010.1.15 课程设计概述: 本次数据结构课程设计共完成三个题:一元稀疏矩阵多项式计算器、哈夫曼编\译码器、图的基本操作与实现。 使用语言:C 编译环境:VC++6.0 课程设计题目一 实验内容 一元稀疏矩阵多项式计算器 问题描述 设计一个一元稀疏多项式简单计算器。 基本要求 一元稀疏多项式简单计算器的基本功能是: 输入并建立多项式; 输出多项式,输出形式为整数序列为:n,c1,e1,c2,e2,……,cn,en,其中n是多项式的项数,ci,ei分别是第i项的系数和指数,序列按指数降序排序; 多项式a和b相减,建立多项a+b; 多项式a和b相减,建立多项式a-b; 计算多项式在x处的值; 计算器的仿真界面(选做); 概要设计 -=ADT=- { void input(Jd *ha,Jd *hb); //输入两个多项式 void sort(Jd *h); //用冒泡排序法对一个多项式进行降序排序 void sum(Jd *ha,Jd *hb); //多项式求和 void minus(Jd *ha,Jd *hb); //多项式相减 void output(Jd *h); //输出多项式 void operate(Jd *ha,Jd *hb); //对多项式进行操作 int qiuzhi(int x,Jd *ha); //计算多项式在x处的值 void main(); 主函数 } 存储结构 typedef struct node { int coef,exp; struct node *next; }Jd; 流程图 1. dnode *creat() //多项式的创建, 即输入两个多项式 h while (项数MAXN) 输入多项式的系数和指数 p-next=h-next; h-next=p; 继续输入 return h; 2. void sort(dnode *h) //采用冒泡法对链表每一项重新排序// while(p-next!=NULL) p=p-next; //寻找尾结点 pi=p;指向最后一次交换的位置,初值为表尾 while(pi!=h-next) //外层循环,比较趟数 for(p=h-next;p!=pi;p=p-next) 内层循环,前后两两相比 swap(p,q); pl=p; //调用交换函数 pi=pl; 3. dnode *operate(dnode *a,dnode *b) //稀疏多项式计算// while(pq) 比较对应两项的指数 x=p-c+q-c; if(fabs(x)1e-5) p=p-next;q=q-next; if(x!=0) 将和链接到新的链表中 else if(p-eq-e)p链接到新的链表中,p后移,q不动 else if(p-eq-e)p链接到新的链表中,q后移,p不动 ++c-c; if(q!=NULL) t-next=q;++c-c; if(p!=NULL) t-next=p;++c-c; 4. float qiuzhi(int x,dnode *h) //求多项式在x处的值 if(p==NULL) return 0; while(p) if(p-e==0) sum+=p-c; else sum+=(p-c)*(pow(x,p-e)); p=p-next; return sum; 详细设计 dnode *creat() //多项式的创建, 即输入两个多项式 { dnode *h,*p; int e,i,n; //n为多项式的项数 float c; //c为多项式的系数 h=(dnode *)malloc(sizeof(dnode)); //分配头节点 h-next=NULL; do //当n小于

文档评论(0)

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

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

1亿VIP精品文档

相关文档