数据结构——基于Python语言(微课版) 课件T5_线性表(应用与比较).pptx

数据结构——基于Python语言(微课版) 课件T5_线性表(应用与比较).pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

应用与比较;顺序表和链表的比较;顺序表和链表的比较;顺序表和链表的比较;顺序表和链表的比较;线性表链式存储方式的比较;应用——图书信息管理系统;一元多项式可按升幂的形式写成:

Pn(x)=p0+p1xe1+p2xe2+…+pnxen

其中ei为第i项的指数(且0≤e1≤e2≤…≤en)

pi是指数ei的项的系数

;一元多项式的顺序存储表示(两种方法)

一元多项式的链式存储表示;一元多项式的顺序存储表示(方法1)

只存储该一元多项式各项的系数,每个系数所对应的指数项则隐含在存储系数的顺序表的下标中。

B(x)=8x+22x7-9x8;一元多项式的顺序存储表示(方法1)

采用这种存储方法使得多项式的相加运算的算法定义十分简单,只需将下标相同的单元的内容相加即可。

缺点:若多项式的非零项指数很高但非零项很少时,十分浪费存储空间。

R(x)=1+5x10000+7x20000

;一元多项式的顺序存储表示(方法2)

只存储非零项,此时每个非零项需要存储:

非零项系数

非零项指数

B(x)=8x+22x7-9x8

;一元多项式的顺序存储表示(方法2)

只存储非零项,此时每个非零项需要存储:

非零项系数

非零项指数

B(x)=8x+22x7-9x8

;顺序存储结构存在问题

存储空间分配不灵活

运算的空间复杂度高;一元多项式的链式存储表示

只存非零项,每一非零项由两部分构成(指数项和系数项)

用单链表存储表示的结点结构为;一元多项式的链式存储表示

一元多项式的单链表表示示意图;建立一元多项式链式存储的算法

算法思想

通过键盘输入一组多项式的系数和指数,用尾插法建立一元多项式的链表;

以输入系数0为结束标志;

并约定建立多项式链表时,总是按指数从小到大的顺序排列。;运算规则:两个多项式中所有指数相同的项的对应系数相加,若和不为零,则构成“和多项式”中的一项;所有指数不相同的项均复抄到“和多项式”中。;应用——两个一元多项式相加;算法思想:

若p→expq→exp,则结点p所指的结点应是“和多项式”中的一项,令指针p后移;

若p→expq→exp,则结点q所指的结点应是“和多项式”中的一项,将结点q插入在结点p之前,且令指针q在原来的链表上后移;

若p→exp==q→exp,则将两个结点中的系数相加,当和不为零时修改结点p的系数域,释放q结点;若和为零,则和多项式中无此项,从A中删去p结点,同时释放p和q结点。

;应用——两个一元多项式相加;应用——两个一元多项式相加;应用——两个一元多项式相加;应用——两个一元多项式相加;应用——两个一元多项式相加;应用——约瑟夫环;著名犹太历史学家Josephus

在罗马人占领乔塔帕特后39个犹太人与Josephus及他的朋友躲到一个洞中

39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式

41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止

然而Josephus和他的朋友并不想遵从,Josephus要他的朋友先假装遵从,他将朋友与自己安排在第16个与第31个位置,于是逃过了这场死亡游戏

;约瑟夫问题是循环链表的一个典型应用,其描述如下:m个人围成了一圈,从其中任一个人开始,按顺时针顺序使所有人依次从1开始报数,报到n的人出列;然后使n之后的人接着从1开始报数,再次使报到n的人出列……如此下去,求算出列的顺序,及最后留下来的人的编号。

;将m与n设定为具体数字,使m=8,n=3模拟约瑟夫问题

;线性表中数据元素的类型可以为简单类型,也可以为复杂类型。

许多实际应用问题所涉的基本操作有很大相似性,不应为每个具体应用单独编写一个程序。

从具体应用中抽象出共性的逻辑结构和基本操作(抽象数据类型),然后实现其存储结构和基本操作。

;总结

文档评论(0)

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

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

1亿VIP精品文档

相关文档