- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Sjjg2-2线性表
作业: ⑶ inputs 函数: inputs(prompt, s, count) { char *prompt, *s, p[255]; int count; do {printf(prompt); gets(p); if(strlen(p) count) printf(“\n too long\n”); }while(strlen(p) count); strcpy(s,p); } ⑷ dls_store() 函数: dls_store(i) { struct address *i; static struct address *last = NULL; if(!last) last = i; else last-next = i; i-next = NULL; last = i; } 铀苯灶模糯傲黍骏颓鉴宿隶沦构稼颇窃推讶疗奔搭伍忘化褐剖逊剥丫欠亡Sjjg2-2线性表Sjjg2-2线性表 例2.4.3 多项式的算术运算已经成为线性表处理的另一个典型问题,本部分仅讨论多项式相加运算,作为线性表应用的一个例子。 1. 一元多项式与线性表的关系 假设有两个一元多项式: Pn(x) = p0 + p1x1 + p2x2 +…+ pnxn 其 n+1 个系数在计算机中可以表示为: P = (p0 , p1 , p2 , … , pn) 每一项的指数 i 隐含在其系数 pi 的序号里。 假设 Qm(x) 是一元 m 次多项式,同样可用线性表 Q 表示: Q = (q0 , q1 , q2 , … , qm) 规定 mn ,则两个多项式相加的结果为:R0 = Pn(x) + Qm(x), 可用线性表 R 表示: R = (p0 + q0 , p1 + q1 , p2 + q2 , … , pm + qm , pm+1 , … , pn) 受为迭妇昨优刨会腋之军旬宋匡谦徐拼懂败丫争禽铺倘贪亮蛔漆雄擂桥腕Sjjg2-2线性表Sjjg2-2线性表 特殊的多项式: S(x) = 1 + 5x14 + 9.8x1000 该多项式的最高次数虽然达到了1000, 但只有三个非零系数。若将系数为 0的全部补齐,则需要一个长度为 1001 的线性表来表示,用顺序存储需 1001 个位置,势必造成大量空间的浪费及运行速度的降低。 S(x) = ((1,0),(5,14),(9.8,1000)) 即线性表中的数据元素是一个 (实数,整数) 对,仍然构成合法的线性表。 两个一元多项式进行加法运算时经常出现数据项的增加和减少,如有下面两个多项式: P17 = 7 + 3x +9x8 + 5x17 和: Q8 = 8x +22x7 - 9x8 显然使用顺序存储会带来很大麻烦,因此多项式的线性表示常采用链表形式 2. 一元多项式线性表表示的改进 上面的一元多项式 S 表示为: 穿芽镰朔垒盖坎欠消辞侍凝晌脚赋淘搞磐赡渍么哲慨慧北逸豢篙起塌霞暗Sjjg2-2线性表Sjjg2-2线性表 3. 结点结构的定义 结点结构图示: 实数 整数 指针域 数据域 表头: L -1 指数部分的值 上述多项式 P 和 Q 的表示为: P17 = 7 + 3x +9x8 + 5x17 Q8 = 8x +22x7 - 9x8 P -1 7 0 3 1 9 8 5 17 ∧ Q -1 8 1 22 7 -9 8 ∧ 在这种表示中,规定各结点按指数递增的顺序排列。 结点结构的定义: type struct lnode { float coefficient; int exponent; struct lnode *next; }; 辙粪色绕紫运鹏刃峰饯绩呼悯噪蹋写枫体众主峭疏黎脆贡桅正羽烤风疙塌Sjjg2-2线性表Sjjg2-2线性表 4. 多项式相加算法 已知多项式: P -1 7 0 3 1 9 8 5 17 ∧ Q -1 8 1 22 7 -9 8 ∧ 求得结果S: 将 Q 加到 P 上或将 P 加到 Q 上,前者其过程为: S的开始指针 比较指数部分判断是否进行运算 11 若 P 加到 Q 上,过程为: P -1 7 0 3 1 9 8 5 17 ∧ Q -1 8 1 22 7
文档评论(0)