数据结构实验2多项式求和Word格式文档下载.docx
- 文档编号:5676986
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:9
- 大小:157.88KB
数据结构实验2多项式求和Word格式文档下载.docx
《数据结构实验2多项式求和Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据结构实验2多项式求和Word格式文档下载.docx(9页珍藏版)》请在冰点文库上搜索。
}SeqList;
(2)链式存储结构的实现
f(x)=100x^100+5x^50-30x^10+10,g(x)=150x^90-5x^50+40x^20-20x^10+3x,
f(x)+g(x)=100x^100+150x^90+40x^20-10x^10+3x+10。
3、实验要求
}
voidcreate_list(SeqList*D)
{intn,i;
printf("
\t\t请输入多项式X的最高次数:
"
);
scanf("
%d"
&
n);
for(intk=99;
k>
=0;
k--)
D->
data[k]=0;
\t\t请输入多项式X的次数由大到小输入系数,缺少项用0补齐\n"
for(i=n;
i>
i--)
{printf("
\t\t输入X^%d项的系数:
"
i);
D->
data[i]);
}
last=n;
voidmain()
{SeqListA,B,C;
\t\t创建多项式f(x):
\n"
create_list(&
A);
\t\tf(x)="
show_list(A);
\t\t创建多项式g(x):
B);
\t\tg(x)="
show_list(B);
\t\t多项式f(x)和g(x)的和:
add_List(A,B,&
C);
\n\t\tf(x)+g(x)="
show_list(C);
链式存储结构:
#include<
stdio.h>
malloc.h>
math.h>
typedefstructlinknode
{
floatcoef;
intexpn;
structlinknode*next;
}Node;
voidcreate_link_list(Node*L)
{Node*p,*q;
intn=1;
floatx=1;
q=L;
\n请按多项式指数由大到小输入系数和指数:
提示:
系数和指数间用空格间隔,每组数据之间用回车间隔(系数和指数为0时结束输入)\n"
while(fabs(x)>
0.000001)
{scanf("
%f%d"
x,&
if(fabs(x)>
0.00001)
{p=(Node*)malloc(sizeof(Node));
p->
coef=x;
expn=n;
next=NULL;
q->
next=p;
q=p;
voidshow_link_list(Node*L)
Node*p;
p=L->
next;
while(p&
&
p->
next)
\(%.1fx^%d\)+"
p->
coef,p->
expn);
p=p->
\(%.1fx^%d\)"
voidmergelist(Node*La,Node*Lb,Node*Lc)//多项式合并
{Node*pa,*pb,*pc;
Node*q1,*q2;
Lc=La;
pc=Lc;
pa=La->
pb=Lb->
while(pa&
pb)
if(pa->
expn>
pb->
expn)
{pc->
next=pa;
pc=pa;
pa=pa->
elseif(pa->
expn<
{pc->
next=pb;
pc=pb;
pb=pb->
elseif(fabs(pa->
coef+pb->
coef)<
0.000001)
{q1=pa;
q2=pb;
pa=pa->
pb=pb->
free(q1);
free(q2);
}
else{q1=pb;
pa->
coef=pa->
coef;
pc->
pc=pa;
pa=pa->
free(q1);
}
if(pa)
else
Node*LA,*LB,*LC;
LA=(Node*)malloc(sizeof(Node));
LA->
LB=(Node*)malloc(sizeof(Node));
LB->
LC=LA;
create_link_list(LA);
f(x)="
show_link_list(LA);
create_link_list(LB);
g(x)="
show_link_list(LB);
mergelist(LA,LB,LC);
\nf(x)+g(x)="
show_link_list(LC);
4、测试数据与实验结果(可以抓图粘贴)
顺序存储结构的实现调试结果如图所示:
链式存储结构的实现调试结果如图所示:
5、结果分析与实验体会
本次实验是参考了范例程序,经过自己的改写,从而实现要求。
先做简单的输出,一步步的再做其它格式的设置。
而且,在具体操作中我对顺序存储结构和链式存储结构的优点和缺点有了更深刻的体会,顺序存储结构的算法较为简单,但是在输入的过程中有很大的局限性,必须从大到小依次且连续的输入多项式次数,所以,它只适合最高次数较小的多项式求和,而链式存储结构设计的算法则更灵活,输入时,不需要次数在数值上连续,所以,它更具有普遍性、实用性。
再从算法效率的角度来评价,顺序存储结构在做次数大小跨度大的多项式求和时,会浪费很多的存储空间,而链式存储结构则可以充分利用,不会浪费,即其空间复杂度较小。
最后,我想说,通过调试程序,我不光学会编程了的基本步骤、基本算法,也使自己更有耐心去做好每一件事情。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实验 多项式 求和