数据结构 算法与数据结构复习教学内容.ppt

数据结构 算法与数据结构复习教学内容.ppt

ID:60795788

大小:328.00 KB

页数:13页

时间:2020-12-19

数据结构 算法与数据结构复习教学内容.ppt_第1页
数据结构 算法与数据结构复习教学内容.ppt_第2页
数据结构 算法与数据结构复习教学内容.ppt_第3页
数据结构 算法与数据结构复习教学内容.ppt_第4页
数据结构 算法与数据结构复习教学内容.ppt_第5页
资源描述:

《数据结构 算法与数据结构复习教学内容.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构算法与数据结构复习error_codequeue::append(constelementtypex){if(full())returnoverflow;rear=(rear+1)%maxlen;data[rear]=x;count++;tag=1;returnsuccess;}error_codequeue::serve(){if(empty())returnunderflow;front=(front+1)%maxlen;count--;tag=0;returnsuccess;}习题4.2:如果采用带尾指针的单循环链表作为

2、队列的存储结构,设计算法以实现队列的各运算。q1q2qn...队头元素队尾元素rearqueue::queue(){rear=newnode;rear->next=rear;count=0;}boolstack::empty()const{returnrear->next==rear;}error_codequeue::get_front(elementtype&x)const{if(empty())returnunderflow;x=rear->next->next->data;returnsuccess;}error_codequ

3、eue::append(constelementtypex){node*s=newnode;s->data=x;s->next=rear->next;rear->next=s;rear=s;count++;returnsuccess;}error_codequeue::serve(){if(empty())returnunderflow;node*front=rear->next;node*u=front->next;front->next=u->next;deleteu;count--;if(front->next==NULL)re

4、ar=front;returnsuccess;}习题5.5:递增有序顺序表A、B分别表示一个集合,设计算法求解A=A-B,并分析其时间性能。data[ia]data[ib]:A当前元素可能在B中,ib++data[ia]=data[ib]:删除A当前元素,ib++;voidsubtraction(list&A,listB){intia,ib,x,y;ia=ib=1;while(ia<=A.length()&&ib<=B.length()){A.get_element(i

5、a,x);B.get_element(ib,y);if(xy)ib++;else{A.delete_element(ia);ib++;}}}时间性能:O(

6、A

7、+

8、B

9、)习题2:假设递增有序顺序表A、B分别表示一个集合,设计算法求解C=A∩B,并分析其时间性能。data[ia]data[ib]:A当前元素可能在B中,ib++data[ia]=data[ib]:将该元素插入C表中ia++,ib++,ic++voidintersection

10、(listA,listB,list&C){intia,ib,ic,x,y;ia=ib=ic=1;while(ia<=A.length()&&ib<=B.length()){A.get_element(ia,x);B.get_element(ib,y);if(xy)ib++;else{C.insert(ic,x);ia++;ib++;ic++;}}}时间性能:O(

11、A

12、+

13、B

14、)习题5-4:假设顺序表L中的元素按从小到大的次序排列,设计算法以删除表中的重复的元素,并要求时间尽可能少。对顺序表(1,1,2

15、,2,2,3,4,5,5,5,6,6,7,7,8,8,8,9)模拟执行本算法,统计移动元素的次数。voidDeleteRepeat(list&L){inti,j,x,y;if(L.length()==0

16、

17、L.length()==1){cout<<"不需删除";return;}i=1;while(ii;j--){L.get_element(j,y);if(x==y)L.delete_element(j);}i++;}}链表练习1:A表

18、分成奇、偶两个子表A、B(A表做删除,B表做插入)voidsplit(list&A,list&B){node*La,*Lb;node*p,*q,*u,*s;La=A.get_head();Lb=B.get_head();

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。