第3章链表及其应用祥解.ppt

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

* if ( q! = NULL) pre-next = q; // 若多项式B中还有剩余,则将剩余的节点加入到和多项式A中  return (A); } 若多项式A有n项,多项式B有m项,则上述算法的时间复杂度为 * 3.5 链表的应用 3.5.1 多项式相加问题 ? 3.5.2 两个链表的归并问题 3.5.3 链表在字符处理方面的应用 ——链串 * 两个链表的归并 若将多项式链表A、B中的每个节点的系数域去掉,并修改上节中的一元多项式相加算法,则可形成两个链表的归并操作算法。 * 【例】有两个有序表A = (0, 1, 8, 17),B = (1, 6, 8),将它们归并为一个有序表。 0 p-dataq-data,令指针p后移; 1 ∧ 17 8 1 ∧ 8 6 B A p q p p-data=q-data,应将*q节点插入到链表A中的*p节点之前 q p q q p-dataq-data,令指针p后移 p-dataq-data,应将*q节点插入到链表A中的*p节点之前 p-data=q-data,应将*q节点插入到链表A中的*p节点之前 q = NULL,则链表A即归并后的链表 * 算法分析: 算法主要包括:搜索、比较、插入三个操作: 搜索:需要两个指针搜索两个链表; 比较:比较结点数据域中数据的大小; 插入:将两个结点中数据小的结点插入新链表。 * 两个有序链表归并的算法可以描述为: LinkList *Lmerge(LinkList *A,LinkList *B){ LinkList *p,*q,*pre; p = A-next; q=B-next;// p和q分别指向链表A和B中的第一个节点 pre=A; //pre指向*p的前趋节点 free (B); /释放链表B的头节点空间 while (p!=NULL q!=NULL){//当两个链表均未扫描结束时 if(p-data q-data) { pre=p;p=p-next;} //如果*p节点的data值小于*q的data值,指针p后移 * else{ //否则,将*q节点插入到链表A中*p节点前 B=q;q=q-next; B-next=p;pre-next=B;pre=pre-next; } } if(q!=NULL) pre-next=q; //若链表B中还有剩余,则将剩余的节点插入到链表A的表尾 return (A); } * 3.5 链表的应用 3.5.1 多项式相加问题 3.5.2 两个链表的归并问题 ? 3.5.3 链表在字符处理方面的应用 ——链串 * 链串是满足下列条件的一种数据结构: ⑴ 由0个或多个字符组成的有限序列;一般记为:S=“a1...ai...an”,i=1,2,…,n。 ⑵ 字符之间的关系R = { ai,ai+1 | ai,ai+1∈S}。 ⑶ 相邻字符ai、 ai+1在存储器中不一定占用相邻的物理存储单元。 其中ai(1≤i≤n)是单个字符,可以是字母、数字或其它字符。n是串中字符的个数,称为串的长度。 链串的概念 : * 在许多系统中,当一个字符占用一个字节空间的情况时,而链表节点中指针域要占用多个字节存储空间。这样,普通链串(如图所示的每个节点只有一个字符的链串)空间利用率非常低。其节点类型可描述为: typedef struct node{ char data; struct node *next; }LinkString; 链串的存储结构 : * 为了提高存储密度,可以让每个节点存放多个字符,也称这种存储结构为块链结构,相应的链串称为块链串,而块链串中每个节点最多能存放的字符的个数称为节点的大小。下图所示的是节点大小为4的块链串。 * 块链结构中,结点类型描述为: #define Block_Size 4 typedef struct node{ char ch[Block_Size];

文档评论(0)

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

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

1亿VIP精品文档

相关文档