ImageVerifierCode 换一换
格式:PPT , 页数:48 ,大小:411KB ,
资源ID:2669366      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2669366.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(南邮陈慧南版数据结构课后习题答案.ppt)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

南邮陈慧南版数据结构课后习题答案.ppt

1、习题七(第习题七(第137137页)页)7.17.17.5 7.5 建建立立以以3737,4545,9191,2525,1414,7676,5656,6565为为输输入入的的二二叉叉搜搜索索树,再从该树上依次删除树,再从该树上依次删除7676,4545,画出结果。,画出结果。37372525454591911414767656566565373725259191141456566565利用二叉排序树的性质。利用二叉排序树的性质。template template void void BTreeBTree:IsBiTree(BTNodeIsBiTree(BTNode*p,intp,int&pre

2、,boolpre,bool&fail)&fail)if(p&!failif(p&!fail)IsBiTreeIsBiTree(p(p-lclc););if(predata)pre=p-data if(predata)pre=p-data else fail=true;else fail=true;IsBiTreeIsBiTree(p(p-rcrc););pre=-max;fail=false;pre=-max;fail=false;IsBiTree(root,pre,failIsBiTree(root,pre,fail););7.6 7.6 判断二叉树是否二叉排序树。判断二叉树是否二叉排序树。

3、7.7 7.7 编编写写一一个个从从二二叉叉搜搜索索树树中中删删除除最最大大元元素素的的算算法法,并并分分析析算算法法的的时间复杂度。时间复杂度。template template boolbool BSTreeBSTree:Delete(E&e):Delete(E&e)BTNodeBTNode*p=root,*q=p;*p=root,*q=p;if(!p)return if(!p)return flseflse;while(p-while(p-rchildrchild)q=p;q=p;p=p-p=p-rchildrchild;if(p=root)root=root-if(p=root)roo

4、t=root-lchildlchild;else q-else q-rchildrchild=p-=p-lchildlchild;e=p-element;e=p-element;delete p;delete p;return true;return true;37372525919114145656656537372525323214147.8 7.8 以下列序列为输入,从空树开始构造以下列序列为输入,从空树开始构造AVLAVL搜索树。搜索树。(1)A1)A,Z Z,B B,Y Y,C C,X X (2)A,V,L,T,R,E,I,S,O,K2)A,V,L,T,R,E,I,S,O,K7.9

5、7.9 一棵高度为一棵高度为h h的的AVLAVL搜索树的最少结点数是多少?搜索树的最少结点数是多少?解:解:或:或:N Nh h=N=Nh-1h-1+N+Nh-2h-2+1,N+1,N0 0=0,N=0,N1 1=1=1例如例如:(1)(1)高度为高度为8 8的的AVLAVL树至少有多少个结点?树至少有多少个结点?解:解:N Nh h=N=Nh-1h-1+N+Nh-2h-2+1,N+1,N0 0=0,N=0,N1 1=1=1 至少至少N N8 8=N=N7 7+N+N6 6+1=(N+1=(N6 6+N+N5 5+1)+N+1)+N6 6+1=54+1=54个结点;个结点;(2)(2)有有1

6、212个结点的个结点的AVLAVL树最大高度?树最大高度?解:解:因因n n5 5=n n4 4+n+n3 3+1=.=12,+1=.=12,故故最大高度最大高度5 5。7.12 57.12 5阶阶B_B_树的高度为树的高度为2 2时,树中元素个数最少为多少?时,树中元素个数最少为多少?解:解:5 57.13 7.13 从从空空树树开开始始,以以关关键键字字序序列列a,g,f,b,k,d,h,m,j,e,s,i,a,g,f,b,k,d,h,m,j,e,s,i,r,x,r,x,建立一棵建立一棵4 4阶阶B_B_树。树。7.14 7.14 从上题的从上题的B_B_树中删除树中删除a,e,f,ha,

7、e,f,h。1 1 删除删除a a2 2 删除删除e eb bf fd dh k rh k rm mg gs xs xi ji je eb bf fd dh k rh k rm mg gs xs xi ji j3 3 删除删除f fb db dh hf f k r k rm mg gs xs xi ji jb bh hd d k r k rm mg gs xs xi ji j4 4 删除删除h hb bi id d k r k rm mg gs xs xj j习题八(第习题八(第154154页)页)8.3 8.3 设设有有散散列列表表ht11ht11,散散列列函函数数为为h(key)=key

8、h(key)=key%1111,采采用用线线性性探探测测和和二二次次探探测测法法处处理理冲冲突突,试试用用关关键键字字序序列列7070,2525,8080,3535,6060,4545,5050,5555分别建立散列表。分别建立散列表。0 1 2 3 4 5 6 7 8 9 100 1 2 3 4 5 6 7 8 9 10252550505555htht70708080353560604545线性探测散列表线性探测散列表0 1 2 3 4 5 6 7 8 9 100 1 2 3 4 5 6 7 8 9 10252550505555htht707080803535606045458.4 8.4

9、二次探测散列表:二次探测散列表:h h1 1(key)=key%11(key)=key%11,h h2 2(key)=key%9+1(key)=key%9+18.7 8.7 有有10001000个个元元素素,其其关关键键字字值值为为09990999。把把这这些些数数据据存存入入长长度度为为200200的拉练式的散列表中。试设计较好的散列函数,并说明理由。的拉练式的散列表中。试设计较好的散列函数,并说明理由。解:采用除留余数法,并取素数解:采用除留余数法,并取素数199199为模,即散列函数为:为模,即散列函数为:h(key)=key%199h(key)=key%199该散列函数的优点是:该散列

10、函数的优点是:1 1简单,计算速度快;简单,计算速度快;2 2分分布布均均匀匀。10001000个个元元素素按按关关键键字字的的值值,均均匀匀地地分分布布在在散散列列表表中中散散列列地地址址为为01980198的的单单链链表表中中。除除散散列列地地址址为为0404的的单单链链表表长长度度为为6 6,其余的单链表的长度均为其余的单链表的长度均为5 5。3 33 3 散列表的散列表的装载密度装载密度 n/M=1000/199 n/M=1000/199 5 5。4 4成功搜索的平均搜索长度为:成功搜索的平均搜索长度为:1+1+/2 4/2 45 5不成功搜索的平均搜索长度为:不成功搜索的平均搜索长度

11、为:5 56 64 4 只只有有散散列列地地址址为为199199的的单单链链表表为为空空,即即散散列列表表中中只只浪浪费费1 1个个单单元元。故故空间利用率较高。空间利用率较高。习题九(第习题九(第188188页)页)9.1 9.1 对图对图9-239-23所示的有向图,求:所示的有向图,求:1 1每个顶点的入度和出度;每个顶点的入度和出度;2 2强连通分量;强连通分量;3 33 3 邻接矩阵。邻接矩阵。3 32 24 41 15 50 0图图9-239-23解解:1 1 各各个个顶顶点点的的入入度度和出度如下:和出度如下:顶点顶点 入度入度 出度出度0 03 30 01 12 22 22 2

12、1 12 23 31 11 14 42 23 35 51 12 22 24 41 15 52 2 强连通分量为强连通分量为3 3 邻接矩阵如下:邻接矩阵如下:0 00 00 00 00 00 01 01 00 00 00 00 00 10 10 00 01 01 01 01 00 00 00 00 01 11 10 10 10 00 00 00 01 01 01 01 03 30 09.2 9.2 当当 以以 边边,的的次次序序,从从只只有有6 6个个顶顶点点没没有有边边的的图图开开始始,通通过依次输入这些边,建立邻接表结构。画出邻接表。过依次输入这些边,建立邻接表结构。画出邻接表。5 52

13、24 41 13 30 0图图9-259-25解:图如解:图如9-259-25所示,所示,邻接表如下:邻接表如下:0 0 5 5 0 0 1 12 23 34 45 50 0 3 3 4 4 4 4 0 0 2 2 1 1 1 10 01 12 23 34 45 59.4 9.4 已知有向图的邻接表,写出计算各个顶点的入度的算法。已知有向图的邻接表,写出计算各个顶点的入度的算法。解解:在在需需要要使使用用各各个个顶顶点点的的入入度度的的程程序序中中说说明明整整型型数数组组indind,并并用用以以下函数计算各个顶点的入度。下函数计算各个顶点的入度。template template void

14、void LinkedGraphLinkedGraph:InDg(ENodeInDg(ENode*a,inta,int n,intn,int indind)ENodeENode*p;*p;for(for(intint i=0;in;i+)i=0;in;i+)indiindi=0;=0;for(i=0;in;i+)for(i=0;i for(p=ai;p;p=p-nextarcnextarc)indpindp-adjvexadjvex+;+;9.5 9.5 在在类类LinkedGraphLinkedGraph增增加加一一个个成成员员函函数数,实实现现从从一一个个用用二二维维数数组组表示的邻接矩阵

15、,建立图的邻接表。表示的邻接矩阵,建立图的邻接表。template template void void LinkedGraphLinkedGraph:create(MGraphcreate(MGraph b,intb,int n)n)intint i,j;i,j;for(for(intint i=0;in;i+)i=0;in;i+)for(j=0;jn;j+)for(j=0;jn;j+)if(b.aij)Add(i,j,b.aij);if(b.aij)Add(i,j,b.aij);解解:在在类类LinkedGraphLinkedGraph增增加加一一个个成成员员函函数数creatcreat,

16、并并在在类类MgraphMgraph将将该该函函数数说说明明为为友友元元函函数数,以以便便访访问问MgraphMgraph类类中中对对象象的的私私有有数数据据,可可以以直直接调用类接调用类LinkedGraphLinkedGraph中的成员函数中的成员函数Add Add。9.7 9.7 设计算法,完成在邻接表上实设计算法,完成在邻接表上实现图的现图的DFSDFS和和BFSBFS生成森林生成森林(生成树生成树)。template template void void LinkedGraphLinkedGraph:DFS():DFS()boolbool visited=new visited=new boolbool n;n;intint k1,k2;k1,k2;ed0=0;k1=k2=0;ed0=0;k1=k2=0;for(for(intint i=0;in;i+)i=0;in;i+)visitedivisitedi=false;=false;for(for(intint i=0;in;i+)i=0;in;i+)if(!visitedi)if(!visitedi)m=k2;m=k2;DF

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1