一元稀疏多项式计算器(安冬)

一元稀疏多项式计算器(安冬)

ID:34214088

大小:536.00 KB

页数:24页

时间:2019-03-04

一元稀疏多项式计算器(安冬)_第1页
一元稀疏多项式计算器(安冬)_第2页
一元稀疏多项式计算器(安冬)_第3页
一元稀疏多项式计算器(安冬)_第4页
一元稀疏多项式计算器(安冬)_第5页
资源描述:

《一元稀疏多项式计算器(安冬)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据结构课程设计学院:信息科学与工程学院专业:计算机科学与技术班级:计算机1006班学号:20101221001学生姓名:安冬指导教师:王永燕2012年3月12日目录一、实验题目的描述与要求………………………………………1二、总体设计及环境说明、工具等………………………………1三、详细设计:本题所需数据结构与模块说明…………………1四、调试过程、测试数据、运行结果及对结果的分析等………6五、自我评析与总结………………………………………………7六、程序代码………………………………………………………7数据结构课程设计一、实验题目的描述与要求建立一元多项式并按照指数降序排列输出多

2、项式,将一元多项式输入并存储在内存中,能够完成两个多项式的加减运算并输出结果一元稀疏多项式简单计算器的功能是:1.输入并建立多项式;2.输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,………cn,en,其中n是多项式的项数,ci和ei分别是第i项的系数和指数,序列按指数降序排列;3.求多项式a、b的导函数;4.计算多项式在x处的值;5.多项式a和b相加,建立多项式a+b;6.多项式a和b相减,建立多项式a-b;7.多项式a和b相乘,建立多项式a*b;8.仿真界面。二、总体设计及环境说明、工具等三、详细设计:本题所需数据结构与模块说明存储结构:一元多项式的表示在计

3、算机内可以用链表来表示,为了节省存储空间,只存储多项式中系数非零的项。链表中的每一个结点存放多项式的一个系数非零项,它包含三个域,分别存放该项的系数、指数以及指向下一个多项式项结点的指针。创建一元多项式链表,对一元多项式的运算中会出现的各种可能情况进行分析,实现一元多项式的相加、相减操作。typedefstructPolynomial{//定义多项式的项floatcoef;//系数intexpn;//指数structPolynomial*next;}*Polyn,Polynomial;1、a+b:构造新的一个多项式pc,不断调用Insert(pc,hdc)函数,在这个过程中

4、就已经对多项式进行了加法运算。PolynAddPolyn(Polynpa,Polynpb)//加法运算{Polynpc,hdc,q1=pa->next,q2=pb->next;hdc=(Polyn)malloc(sizeof(structPolynomial));hdc->next=NULL;while(q1){pc=(Polyn)malloc(sizeof(structPolynomial));pc->coef=q1->coef;pc->expn=q1->expn;Insert(pc,hdc);//插入结点q1=q1->next;}while(q2){pc=(Polyn)

5、malloc(sizeof(structPolynomial));pc->coef=q2->coef;pc->expn=q2->expn;Insert(pc,hdc);//插入结点q2=q2->next;}returnhdc;}2、a-b:减法运算本身就是加法运算,只要把pb的系数取负即可,然后再调用加法运算函数。PolynUnaddPolyn(Polynpa,Polynpb){Polynh=pb,q=pb->next,pd;while(q)//把pb变成-pb{q->coef=q->coef*(-1);q=q->next;}pd=AddPolyn(pa,h);for(q=

6、h->next;q;q=q->next)//变回来q->coef*=-1;returnpd;}3、a×b:PolynChengPolyn(Polynpa,Polynpb){Polynhf,pf;Polynqa=pa->next;Polynqb=pb->next;hf=(Polyn)malloc(sizeof(structPolynomial));//建立头结点hf->next=NULL;for(;qa;qa=qa->next){for(qb=pb->next;qb;qb=qb->next){pf=(Polyn)malloc(sizeof(structPolynomial))

7、;pf->coef=qa->coef*qb->coef;pf->expn=qa->expn+qb->expn;Insert(pf,hf);//调用Insert函数以合并指数相同的项}}returnhf;}四.调试过程、测试数据、运行结果及对结果的分析等测试数据:1、(2x+5x^8-3.1x^11)+(7-5x^8+11x^9)=(-3.1x^11+11x^9+2x+7);2、(6x^-3-x+4.4x^2-1.2x^9+1.2x^9)-(-6x^-3+5.4x^2-x^2+7.8x^15)=(-7.8x^15-1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。