网站大量收购独家精品文档,联系QQ:2885784924

数据结构C++陈慧南DS习题课2课件.ppt

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

习题七(第137页);7.1;7.5 建立以37,45,91,25,14,76,56,65为输入的二叉有哪些信誉好的足球投注网站树,再从该树上依次删除76,45,画出结果。;利用二叉排序树的性质。 template class T void BTreeT::IsBiTree(BTNodeT *p,int pre,bool fail) { if(p!fail) { IsBiTree(p-lc); if(prep-data) pre=p-data else fail=true; IsBiTree(p-rc); } } pre=-max; fail=false; IsBiTree(root,pre,fail);;7.7 编写一个从二叉有哪些信誉好的足球投注网站树中删除最大元素的算法,并分析算法的时间复杂度。;7.8 以下列序列为输入,从空树开始构造AVL有哪些信誉好的足球投注网站树。 (1)A,Z,B,Y,C,X (2)A,V,L,T,R,E,I,S,O,K ;7.9 一棵高度为h的AVL有哪些信誉好的足球投注网站树的最少结点数是多少? 解:;7.12 5阶B_树的高度为2时,树中元素个数最少为多少? 解:5;7.14 从上题的B_树中删除a,e,f,h。;3 删除f;4 删除h;习题八(第154页);8.7 有1000个元素,其关键字值为0—999。把这些数据存入长度为200的拉练式的散列表中。试设计较好的散列函数,并说明理由。;习题九(第188页);9.2 当以边1,0,1,3,2,1,2,4,3,2,3,4, 4,0,4,1,4,5,5,0 的次序,从只有6个顶点没有边的图开始,通过依次输入这些边,建立邻接表结构。画出邻接表。;9.4 已知有向图的邻接表,写出计算各个顶点的入度的算法。;9.5 在类LinkedGraph增加一个成员函数,实现从一个用二维数组表示的邻接矩阵,建立图的邻接表。;9.7 设计算法,完成在邻接表上实 现图的DFS和BFS生成森林(生成树)。;template class T //递归函数DFS1 void LinkedGraphT::DFS1(int v,bool visited[],int k2) { ENodeT *w; visited[v]=true; for (w=a[v]; w; w=w-nextarc) if (! visited[w-adjvex]) { edge[k2].from=v; edge[k2++].to=w-adjvex; DFS1(w-adjvex,visited,k2); } };DFS解法(2) template class T void LinkedGraphT::DFS(linkgraph g) { int *visited, k=0; int *parent=new int[n]; visited=new bool[n] for(int i=0; in; i++) { visited[i]=FLASE; parent[i]=-1; } for(int i=0; in; i++) if(!visited[i]) DFS1(i,visited,parent); delete []visited, []parent; };B;解:2 广度优先有哪些信誉好的足球投注网站算法如下:;template class T void LinkedGraphT::BFS(int v,bool visited[]) { ENodeT *w; int n; SeqQueueint q(n); cout “ “ v; visited [v]=true; q.EnQueue(v); while (!q.IsEmpty()) { q.DeQueue(v); //队首元素出队 for (w=a[v];w;w=w-nextarc) if (! visited[w-adjvex]) { cout “ “ w-adjvex; visited [w-adjvex]=true; q.EnQueue(w-adjvex); } } };9.9 设计算法,确定一个有n个顶点的有向图是否有回路。;template class T bool LinkedGraphT::CheckLoop() { int i,j,top=-1; //top为栈顶元素的下标 ENodeT *p; for(i=0; in; i++) if(!InDegree[i]) { InDegree[i]=top; top=i

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档