《数据结构习题课》PPT课件.ppt

上传人:wuy****n92 文档编号:70316743 上传时间:2023-01-19 格式:PPT 页数:35 大小:213KB
返回 下载 相关 举报
《数据结构习题课》PPT课件.ppt_第1页
第1页 / 共35页
《数据结构习题课》PPT课件.ppt_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《《数据结构习题课》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据结构习题课》PPT课件.ppt(35页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、数据结构习题数据结构习题 第第 8 章章吉林大学计算机科学与技术学院谷方明第第8章作章作业l8-4l8-7,8-8,8-9,8-10l8-13l8-22,8-238-4l设有关键词为A、B、C和D,按照不同的输入顺序,共可能组成多少种不同的二叉查找树。请画出其中高度较小的6种。参考答案参考答案l以A为根的BST共5种lB为第2个元素:2种lC为第2个元素:1种(高度为2)lD为第2个元素:2种l以B为根的BST共2种(高度为2)l以C为根的BST共2种(高度为2)l以D为根的BST共5种(类似A)l一共有14种。高度为2的有6种,为3的有8种8-7l画出对长度为10的有序表进行折半查找的判定树

2、,并求其等概率时查找成功的平均查找长度。参考答案参考答案lASLsucc=(1+2*2+3*4+4*3)/10=29/10lASLunsucc=(5*3+6*4)/11=39/114528169710a5a8a9a10a2a1a3a6a4a73a28-8l对长度为12的有序表(a1,a2,a12)(其中aiaj,当ij时)进行折半查找,在设定查找不成功的情况时,关键词xa12,aixdata(t)THEN(flag FALSE.RETURN.).pre t.BST(right(t),pre,flag).C+boolbst(BinTreeNode*t,BinTreeNode*&pre)/*t指向

3、根结点;pre指向t的中根前驱,初值NULL*/if(t=NULL)returntrue;if(!bst(left(t),pre)returnfalse;if(pre&pre-datat-data)returnfalse;pre=t;returnbst(right(t),pre);8-23l给定整型数组B0.m,0.n.已知B中数据在每一维方向上都按从小到大的次序排列。且整型变量x在B中存在。试设计一个算法,找出一对满足Bi,j=x的i,j值,要求比较次数不超过m+n.l【提示】本题中主要是要确定每次进行比较的对象。其中,二维数组右上角的元素是一个较为特殊的元素。可以逐次跟二维数组右上角的元素

4、进行比较。每次比较有3种可能的结果:若相等则结束比较;若右上角的元素小于x,则可断定二维数组的最上面一行中肯定不包含x,下次比较时搜索范围即可减少一行;若右上角的元素大于x,则可断定二维数组的最右面一列中肯定不包含x,下次比较时搜索范围即可减少一列。这样,每次至少可使搜索范围减少一列或一行,最多经过m+n次即可找到x.参考答案参考答案l算法Find(B,m,n,x)/*在B中查找x,时间复杂度O(m+n)*/F1初始化i0.jn.F2比较Bi,j与xWHILE(i=0)DO(IF(Bi,j=x)THENRETURNTRUE.IF(Bi,jx)THENii+1.IF(Bi,jx)THENjj-1

5、.)RETURNFALSE.1.(8分分)数组A中存放n个整数(0=Ai=10000,1=i=n),设 计 算 法 求 出 数 组 A中 的 第 k小 数(1=k=nk则在(j+1,e)这段里查找第k小位置;若jk,则在(s.j-1)查找第k小位置l时间复杂度(logn*logn)算法描述:算法描述:int search(int k,int n)int s=1,e=n;while(1)int i=s,j=e;while(i=ai&j=i)j-;while(aj=ai&j=i)i+;if(ij)s=j+1;if(ki,那么s=i+1,k=k-i;如果ki,那么e=i-1;(12分分)给定无向连通

6、正权图G和G中的一个结点v.求G的支撑树T,并使其满足如下两个条件:第一,T的根为v;第二,T中v到任一顶点u的路径长度等于G中v到u的最短路径长度。要求:(1)给出算法的基本设计思想(3分);(2)设计图G和支撑树T的存储结构(2分);(3)基于以上设计的存储结构,用算法描述语言描述算法,并要求对算法中的关键步骤给出注释(7分)。(1)算法设计思想:利用Dijkstra算法求该支撑树。即在用Dijkstra算法求以v作为源点的最短路的过程中,把每次确定为最短路的点和边加入到生成树T中。(2)图G用邻接表存储:边的存储结构为Edge(VerAdj,Weight,Link),头指针数组Edge*HeadMAXN;最短路径长度disMAXN;支撑树T使用邻接链表存储:边的存储结构使用Edge(VerAdj,Weight,Link),头指针数组EdgetHeadMAXN;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com