- 977
- 0
- 约5.76千字
- 约 7页
- 2017-05-18 发布于江西
- 举报
数据结构实验报告—链表及其多项式相加
数据结构实验报告——链表及其多项式相加
一、实验目的
1.了解线性表的链式存储结构,熟练掌握链表。
2.了解作为链表的多项式存贮方式。
3.熟悉掌握多项式加法的算法。
二、实验原理
Ⅰ.算法分析与设计
对于一个一元多项式构成的线性空间,其系数、次数向量构成的线性空间,有如下关系:
是一个一一映射,即由p唯一确定。
基于此,利用单链表的数据域存取系数向量p和对应的次数,不同的多项式对应不同的单链表,从而多项式间的加减运算等价于对单链表的相应操作。这样便可以很方便的对稀疏多项式进行操作而节省大量空间。下面简单概括对单链表的操作。
需要说明的是本实验中,对每个单链表赋予了头结点。
假设多项式A=,多项式B=,其中、均为非零常数。
则其对应的单链表、的存取结构图如下:
因此多项式A、B相加减操作等价于两链表根据下面原则合并操作:
1.对次数相同的结点,对其系数相加减,若操作后系数为0,则删除改次数对应的结点。
2.次数较低的结点在次数较高的结点前。
3.按照上述1,2原则,将结点依次连接组成链表Lc。
因此链表Lc对应的多项式即为所求。
Ⅱ.算法伪代码描述
该实验中的各函数及伪代码如下:
1.定义结构体,将多项式模型转化为能被计算机描述的模型
结构体{
次数expn;
系数ceof;
next指针}
2.链表的建立与初始化
LinkList Create_List(int n);
逆序输入n个有效结点。
3.排序函数实现对链表中多项式次数对应的结点排序
LinkList SortPoly(LinkList w);
通过两个指针Pa、Pb控制
Pa=第一个位置
While(Pa指向内容不空)
{初始Pb=当前Pa所指下一个元素位置
While(Pb指向内容不空)
{if(Pb指向结点的次数Pb指向结点的次数)
交换Pa和Pb所指向结点的次数和系数,即交换数据域;
Pb指向下一个位置;
}
Pa指向下一个位置;
}
返回心得链表w
4.次数高低比较函数
int cmp(a,b);
//当a结点的次数大于b结点的次数,返回1,相当返回0,否则返回-1
5.连个多项式相加函数
LinkList AddPoly(LinkList A,LinkList B);
返回一个多项式C
算法类似于两个链表的合并
6.打印多项式
void Print_List(LinkList L);
7.主函数
void main (void);
三、C源程序代码
//第一次实验:用单链表的存储模式编写程序实现两个一元多项式的相加
//written by Jie Dai
//2008-11-2
#includestdio.h
#includestdlib.h
#includemalloc.h
/////////////////////////////////////////////////////////////////////////
//结构体
typedef struct LNode
{
float ceof;//系数
int expn;//次数
struct LNode *next;
} LNode,*LinkList;
/////////////////////////////////////////////////////////////////////////
//创建多项式链表
//逆序输入多项式!
LinkList Create_List(int n) //n为链表的长度
{
LinkList L;
LinkList pointer;
int b,i;
float a;
L=(LinkList)malloc(sizeof(LNode)); //申请一个结点
if(!L) exit(0);
L-next=NULL; //头结点
for(i=n;i0;--i)
{
pointer=(LinkList)malloc(sizeof(LNode));
if(!pointer)
exit(0);
print
您可能关注的文档
最近下载
- Ф90橡胶冷喂料挤出机毕业设计说明书.docx VIP
- 《行测》《行测》题库型介绍(基础题).docx VIP
- 北师大五年级下册全册数学教案.docx VIP
- 石蜡制备高碳醇工艺条件研究.pdf VIP
- 2025届宁夏回族自治区吴忠市盐池县高三下学期第一次模拟考试物理试卷.pdf VIP
- 浙江省中小学正高级教师职称评审表2017.pdf VIP
- 80辛集互联网搜索引擎在成功抓获漂白身份潜逃十二年绑架逃犯中的具体应用3542.pdf VIP
- 《故宫IP联名文创产品开发与销售总结》_国潮文创产品经理.docx
- 人教版(2019)必修第一册 Unit 3 Sports and Fitness Reading and thinking Living Legends 教学设计.pdf VIP
- 专题01+完形填空之综合解题技巧(复习课件)(全国通用)2026年高考英语二轮复习讲练测.pptx VIP
原创力文档

文档评论(0)