数据结构2第2章幻灯片.ppt

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Void convers2(slnodetype *la) slnodetpe *p,*q; P = la-next; La-next = NULL; While (p != NULL); { q = p; p = p-next; q-next = la-next; la-next = q; } 例:在一个给定的线性表中删除元素值在x到y之间的所有元素,要求以较高的效率实现 算法思想:先将向量A中所有在x到y之间的元素置成一个特殊的值0,并不立即删除它们,然后从最后向前依次扫描,删除为0的元素,移动后面的元素。 void del(A,n,x,y) int A[]; int n,x,y; { int i,k; for (i=1; i=n; i++) if (A[i]=x A[i]=y) A[i]=0; for (i=n; i=1; i--) if (A[i]=0) { for (k=i; k=(n-1); k++) A[k] = A[k+1]; n--; } } 例:用不多于3n/2的平均比较次数,在一个线性表中找出最大和最小值的元素 void maxmin(A,n) int A[]; int n; { int max, min, i; for (i=2; i=n; i++) if (A[i] max) max = A[i]; else if (A[i] min) min = A[i]; printf(“max = %d, min = %d\n”, max, min); } 分析: 最坏情况:元素以递减顺序排列,(A[i]max)和 (A[i]min) 均需比较 n-1 次,所以总的比较次数为:2(n-1) 最好情况:元素以递增顺序排列,(A[i]max)均成立,不须进行 (A[i]min) 的比较,所以总的比较次数为:(n-1) 平均: (2(n-1)+n-1)/2 = 3n/2 – 3/2 例:一元多项式的相加 typedef struct pnode { float coef; //系数 int exp; //指数 struct pnode *next; //指向下一节点 } polynode; coef exp next 多项式 2 + 3X + 5X3 + 2X4 可表示为: -1 0 0 2 1 3 3 5 4 2 多项式 2 + 3X + 5X3 + 2X4 3 + 2X + 4X2 相加 初始化; While (两个链都没处理完) { if (指针指向当前节点的指数项相同) {系数相加,在C链中天加新的节点; A、B链的指针均前移;} else {以指数小的项的系数添入C链中的新节点; 指数小的相应链指针前移;} } While(A链处理完) { 顺序处理B链;} While(B链处理完) { 顺序处理A链;} 算法思想: -1 0 0 2 1 3 3 5 4 2 A -1 0 0 3 1 2 2 4 B -1 0 C q1 q2 -1 0 0 2 1 3 3 5 4 2 A -1 0 0 3 1 2 2 4 B -1 0 C q1 q2 0 5 -1 0 0 2 1 3 3 5 4 2 A -1 0 0 3 1 2 2 4 B -1 0 C q1 q2 0 5 1 5 -1 0 0 2 1 3 3 5 4 2 A -1 0 0 3 1 2 2 4 B -1 0 C q1 q2 0 5 1 5 2 4 ………… 1、基于空间的考虑 2、基于时间的考虑 3、基于语言的考虑 顺序表和链表的比较 算法验证 按序号查找 linklist *GET(linklist *head,int i) { int j; linklist *p; p=head;j=0; while((p-next!=NULL)(ji)) { p=p-next; j++; } if (i==j) return p; else return NULL; } 查找运算 按值查找 linklist *LOCATE(l

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档