- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
②当两个多项式指数不同时,将其中一个多项式指数较大的结点复制到hc中。 若qa-coef qb-coef,则将结点qb复制到hc中,然后将qb和q指针在原来的链表上向后移动,如图(c)所示。 若qa-coef qb-coef,则将结点qa复制到hc中,然后将qa和q指针在原来的链表上向后移动,如图(d)所示。 ③重复上述①和②操作,直至两个多项式全部处理完毕,如图(e)所示。 两个多项式相加示意图(3) 两个多项式相加示意图(4) 书 面 作 业 P83-84:2(3) (4), 3 上 机 练 习 P83: 1(2)(4) P84: 6(2),11,13 * * * * * * * * * * * * * * * * * i = new node() avail = avail - next i-next = head-next head-next = i; * p = p-next j-next = avail avail = j * * 若A和B不再需要,还应该有释放qa和qb的存储空间的操作。 单链表的逆置过程: ①利用原表的结点空间,建立逆置链表的头结点; ②删除原链表的第一个表结点,并保存原链表的下一结点指针; ③将原链表删除的第一个表结点,用头插法插入逆置后的新链表中; ④重复上述删除和插入删除操作,直至原链表为空时结束。 顺序表和链表的比较 (1)空间性能的比较 结点数据本身所占的存储量 存储密度= —————————————— 结点结构所占的存储总量 存储密度越大,存储空间的利用率就越高。 顺序表的存储密度 = 1。 链表的存储密度 1。 当线性表的长度变化不大,易于事先确定其大小时,为了节约存储空间,宜采用顺序表作为存储结构。 顺序表是由向量实现的,它是一种随机存取结构,对表中任一结点都可以在O(1)时间内直接存取,而链表中的结点, 需从头指针起顺着链找才能取得。 因此,若线性表的操作主要是进行查找,很少做插入和删除时,宜采用顺序表做存储结构。 在链表中的任何位置上进行插入和删除,都只需要修改指针。而在顺序表中进行插入和删除,平均要移动表中近一半的结点,尤其是当每个结点的信息量较大时,移动结点的时间开销就相当可观。因此,对于频繁进行插入和删除的线性表, 宜采用链表做存储结构。若表的插入和删除主要发生在表的首尾两端, 则宜采用尾指针表示的单循环链表。 (2)时间性能的比较 3.3.2 单 循 环 链 表 循环链表(Circular Linked List)是单链表的另一种形式,它是一个首尾相接的链表。其特点是将单链表最后一个结点的指针域由NULL改为指向头结点或线性表中的第一个结点,就得到了单链形式的循环链表,并称为单循环链表(或循环单链表)。类似地,还有多重链的循环链表。 在循环单链表中,表中所有结点都被链在一个环上,多重循环链表则是将表中的结点链在多个环上。为了使某些操作实现起来方便,在循环单链表中也可设置一个头结点。 这样,空循环链表仅由一个自成循环的头结点表示。 图3-14 不带头结点单循环链表 图3-15 带头结点循环单链表 3.3.3 双 向 循 环 链 表 在单链表中, 从任何一个结点能通过指针域找到它的后继结点, 但无法找出它的前趋结点, 这是单链表的一个缺点。 在双向链表的每一个结点除了数据字段外, 还包含两个指针, 一个指针(next)指向该结点的后继结点, 另一个指针(prior)指向它的前趋结点; 双向链表有两个好处: 一是可以从两个方向搜索某个结点, 这不但使链表的排序操作变得比较简单, 而且在数据库情况下允许用户在两个方向进行搜索, 二是无论利用向前这一链还是向后这一链, 都可以遍历整个链表, 如果有一根链失效了, 还可以利用另一根链修复整个链表。 如果让头结点的前驱指针指向链表的最后一个结点, 让最后一个结点的后继指针指向头结点, 就构成双向循环链表。 图3-16 双向链表结点 图3-17 带头结点的双向链表 双向链表结点的抽象数据类型描述 ADT node is Data 链表的数据域;前驱指针;后继指针 Operation node //构造头结点 node //构造非头结点 //初始化数据项item、前驱指针prior0和后继指针next0 end ADT node 双向链表结点类的定义与实现 template class type class doublist; template class type class node { f
您可能关注的文档
最近下载
- 中小学教师职称评审网上申报部分填写示例.docx VIP
- 人教版五年级上册数学第五单元《等式的性质》(课件).pptx VIP
- 五粮液校园招聘历年真题.pdf
- 7588.2 GB/T7588.2-2020 电梯制造与安装安全规范 第2部分:电梯部件的设计原则、计算和检验.pdf
- [精品]朝花夕拾-名著导读练习学习及答案较全.doc VIP
- 构建和谐师生关系激发英语教学正能量(教学资料).doc VIP
- 森兰SB70系列变频器使用手册V1.8.pdf
- 2024-2025学年江苏省徐州市高一上学期第一次月考数学学情检测试题(含解析).pdf VIP
- 高中函数解题技巧方法总结(高考)(1).pdf VIP
- 2024宜宾五粮液股份有限公司校园招聘试题及答案解析.docx
文档评论(0)