




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 算法设计与分析 实验报告 - 7 -1、 实验目的(1) 掌握线性表的顺序存储结构和链式存储结构;(2) 掌握线性表插入、删除等基本运算;(3) 掌握线性表的典型运用多项式求和。2、 实验内容编程实现多项式的求和运算:(1) 顺序存储结构的实现例如,已知:f(x)=8x6+5x5-10x4+32x2-x+10,g(x)=7x5+10x4-20x3-10x2+x,求和结果:f(x)+g(x)=8x6+12x5-20x3+22x2+10。顺序表的定义类型如下:#define MAXLEN 100typedef struct int dataMAXLEN;Int last;SeqList;(2)
2、链式存储结构的实现例如,已知:f(x)=100x100+5x50-30x10 +10,g(x)=150x90-5x50+40x20-20x10+3x,求和结果:f(x)+g(x)= 100x100+150x90+40x20-10x10+3x+10。3、 实验要求(1) 利用C(C+)语言完成程序设计。(2) 上机调试通过实验程序。(3) 输入数据,检验程序运行结果。(4) 给出具体的算法分析,包括时间复杂度和空间复杂度等。(5) 撰写实验报告(把输入实验数据及运行结果用抓图的形式粘贴到实验报告上)。4、 实验步骤与源程序 实验步骤我先从具体的问题中抽象出适当的数学模型,然后设计出相应的算法,对
3、于用顺序存储结构实现多项式求和而言,需要设计3个main函数调用的子函数,分别实现创建多项式,多项式相加和显示多项式;对于用链式存储结构实现多项式求和,也同样需要3个这样的子函数,最后,编写程序,并调试程序,得出实验结果。 源代码顺序存储结构:#include<stdio.h>#define MAXLEN 100typedef struct int dataMAXLEN; int last; SeqList;void add_List(SeqList A, SeqList B, SeqList *C) int i;C->last=A.last>B.last? A.las
4、t:B.last;for(i=0;i<=C->last;i+) C->datai=A.datai+B.datai;void show_list(SeqList C) int i; for(i=C.last;i>=1;i-) if(C.datai) printf("(%dx%d)+",C.datai,i); printf("(%dx%d)n",C.data0,0); void create_list(SeqList *D) int n,i; printf("tt请输入多项式X的最高次数:");scanf(&quo
5、t;%d",&n);for(int k=99;k>=0;k-) D->datak=0;printf("tt请输入多项式X的次数由大到小输入系数,缺少项用0补齐n"); for(i=n;i>=0;i-)printf("tt输入X%d项的系数: ",i); scanf("%d",&D->datai); D->last=n;void main() SeqList A,B,C; printf("tt创建多项式f(x):n"); create_list(&A);
6、 printf("ttf(x)="); show_list(A); printf("tt创建多项式g(x):n"); create_list(&B); printf("ttg(x)="); show_list(B); printf("tt多项式f(x)和g(x)的和: "); add_List (A,B,&C); printf("nttf(x)+g(x)="); show_list(C);链式存储结构:#include<stdio.h>#include<mall
7、oc.h>#include<math.h>typedef struct linknode float coef; int expn; struct linknode *next; Node;void create_link_list(Node *L) Node *p,*q; int n=1; float x=1; q=L; printf("n请按多项式指数由大到小输入系数和指数:n"); printf("提示: 系数和指数间用空格间隔,每组数据之间用回车间隔(系数和指数为0时结束输入)n"); while(fabs(x)>0.00
8、0001 ) scanf("%f %d",&x,&n); if(fabs(x)>0.00001) p=(Node *) malloc(sizeof(Node); p->coef=x; p->expn=n; p->next=NULL; q->next=p ; q=p; void show_link_list(Node *L) Node *p; p=L->next;while(p&&p->next ) printf("(%.1fx%d) + ",p->coef,p->exp
9、n); p=p->next; printf("(%.1fx%d) ",p->coef,p->expn);printf("n");void mergelist(Node *La,Node *Lb,Node *Lc) / 多项式合并 Node *pa,*pb,*pc; Node *q1,*q2; Lc=La;pc=Lc; pa=La->next;pb=Lb->next; while(pa && pb) if(pa->expn > pb->expn) pc->next=pa;pc=pa;pa
10、=pa->next; else if(pa->expn < pb->expn) pc->next=pb;pc=pb;pb=pb->next; else if(fabs(pa->coef+pb->coef)<0.000001) q1=pa; q2=pb; pa=pa->next; pb=pb->next; free(q1); free(q2); else q1=pb;pa->coef=pa->coef+pb->coef; pc->next=pa; pc=pa; pa=pa->next; pb=pb-&
11、gt;next; free(q1); if(pa) pc->next=pa; else pc->next=pb;void main() Node *LA,*LB,*LC;LA=(Node *)malloc(sizeof(Node); LA->next=NULL;LB=(Node *)malloc(sizeof(Node); LB->next=NULL; LC=LA; create_link_list( LA); printf("f(x) = ");show_link_list(LA);create_link_list( LB);printf(&quo
12、t;g(x) = ");show_link_list(LB);mergelist(LA,LB,LC);printf("nf(x)+g(x)= ");show_link_list(LC);5、 测试数据与实验结果(可以抓图粘贴)顺序存储结构的实现调试结果如图所示:链式存储结构的实现调试结果如图所示:6、 结果分析与实验体会本次实验是参考了范例程序,经过自己的改写,从而实现要求。先做简单的输出,一步步的再做其它格式的设置。而且,在具体操作中我对顺序存储结构和链式存储结构的优点和缺点有了更深刻的体会,顺序存储结构的算法较为简单,但是在输入的过程中有很大的局限性,必须从大到小依次且连续的输入多项式次数,所以,它只
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《扫描电镜制样》课件
- 《2025年解除劳动合同协议书范本》
- 2025-2030年灯箱线项目商业计划书
- 极限投篮测试题及答案
- 2025资产管理合同协议模板
- 2025年宁泌泰胶囊项目发展计划
- 2025年液压元件、系统及装置项目合作计划书
- 面试电子方面笔试题及答案
- 2025年化妆品级珠光材料项目发展计划
- 音乐成就标准与乐理知识对照试题及答案
- 中国艺术歌曲赏析及实践知到课后答案智慧树章节测试答案2025年春四川音乐学院
- 药物临床试验质量管理规范解读
- 膀胱癌健康宣教课件
- X线腰椎临床意义
- 零星工程框架协议书范本
- 绽放的梨花(2024年山东滨州中考语文试卷记叙文阅读试题)
- 2024-2025学年人教版英语七年级下册Unit 5 Here and now Section B 1a - 1d 教案
- 中国银行课件模板7
- 2025年桉树种植与林业碳汇交易市场建设合作合同2篇
- DB3301T 1118-2023 秀珍菇设施栽培技术规程
- 美容院会员卡使用合约
评论
0/150
提交评论