2-第二章 基本数据结构及其运算-线性表amp;线性链表.ppt

2-第二章 基本数据结构及其运算-线性表amp;线性链表.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * 优点是: 多项式的项数可以动态地增长,不存在存储溢出问题,疏项多项式可以节省空间。 插入、删除方便,不移动元素。 exp coef next struct Lnode { int exp; float coef; struct Lnode *next; }; 第二章 基本数据结构 多项式链表中,每一非零项结点的C定义如下: 以单链循环链表为例,空多项式链表的声明: void linked_Poly ( void ) { struct Lnode *head, *q; //头指针、头结点指针 q= (struct Lnode *) malloc (sizeof(struct Lnode)); //申请头结点 q-exp=-1; q-next=q; head= q; } 第二章 基本数据结构 一元多项式的加法算法 第二章 基本数据结构 其中, ai、bj为非零系数 求: 一元多项式的加法算法 扫描两个多项式,若都未检测完: 若当前被检测项指数相等,系数相加。若和不为 0,则将结果插入到结果多项式;否则,不插入。 若当前被检测项指数不等,将指数大者加到结果多项式,再检测指数小的链表中的当前结点与指数大的链表中的下一结点。 若一个多项式已检测完,将另一个多项式剩余部分复制到结果多项式。 第二章 基本数据结构 算法过程: 上文回顾 双向链表 链栈 链队列 一元多项式的表示及基本运算 表示 空双向链表的创建 双向链表的基本运算:插入、删除 表示 初始化 入栈/退栈 表示 初始化 入队/退队 一元多项式相加算法实例演示 第二章 基本数据结构 A 17 5 8 9 1 3 0 7 -1 B 8 -9 7 22 1 8 -1 C 17 5 7 22 1 11 0 7 -1 一元多项式的乘法算法 第二章 基本数据结构 其中, ai、bj为非零系数 求: 算法过程:多项式Am(x)的每一项与多项式Bn(x)相乘,且将结果逐步累加。 一元多项式乘法算法实例演示 第二章 基本数据结构 A 17 5 8 9 1 3 0 7 -1 B 8 -9 7 22 1 8 -1 编程题(各数据结构的定义必须采用课件的形式) 一、顺序表的基本操作实现实验 要求:数据元素类型ElemType取整型int。按照顺序存储结构实现如下算法(各算法边界条件和返回结果适当给出): 1)创建任意整数线性表(即线性表的元素值随机在键盘上输入),长度限定在20之内; 2)打印(遍历)该线性表(依次打印出表中元素值); 3)在线性表的第i个位置插入新元素,并打印线性表。 4)找到线性表中数值值最小的结点,输出该值; 5) 将第4)步中找到的结点删除,并输出打印剩下的线性表。 第二章 基本数据结构 二/三、单链表(带头结点/不带头结点)基本操作实验 要求:数据元素类型ElemType取字符型char。按照动态单链表结构实现如下算法(各算法边界条件适当给出): 1)按照后插法(带头结点)、前插法 (不带头结点)、创建任意有序单循环链表(即链表的元素随机在键盘上输入),长度限定在15之内; 2)打印(遍历)该链表(依次打印出表中元素值); 3)找到链表节点中数值最小的结点,并输出该结点。 4) 将第3)步中找到的结点删除,并输出打印剩下的链表。 第二章 基本数据结构 四、双向循环链表的基本操作实验 要求:数据元素类型ElemType取float。按照动态双向循环链表结构实现如下算法(各算法边界条件适当给出): 1)按照前插法创建任意双向循环链表(即链表的元素随机在键盘上输入),长度限定在15之内; 2)打印(遍历)该链表(依次打印出表中元素值); 3)在链表的第i个位置插入新元素,并打印新链表。 4) 删除链表第i个位置的元素,并打印新链表。 第二章 基本数据结构 五、栈/链栈基本操作实验 要求:数据元素类型ElemType取字符型char。从键盘随机输入字符元素,长度限制在10个字符之内。完成栈/链栈的入栈和退栈运算,直到退为空栈,分别打印出每入栈和退栈一个元素后栈内的元素。 六、队列/链队列基本操作实验 要求:数据元素类型ElemType取字符型char。从键盘随机输入字符元素,长度限制在10个字符之内。完

文档评论(0)

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

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

1亿VIP精品文档

相关文档