求无向连通图的生成树.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
标题无向连通图的生成树主要内容包括了图的逻辑结构以及邻接矩阵存储结构实验中,通过建立无向图的邻接矩阵存储,并进行深度优先遍历和广度优先遍历,验证了图的邻接矩阵存储及其遍历操作的实现最后,展示了生成一个无向连通图的完整树的过程

求无向连通图的生成树

求无向连通图的生成树

一、实验目的

=1\*GB2⑴掌握图的逻辑结构

=2\*GB2⑵掌握图的邻接矩阵存储结构

=3\*GB2⑶验证图的邻接矩阵存储及其遍历操作的实现

二、实验内容

(1)建立无向图的邻接矩阵存储

(2)对建立的无向图,进行深度优先遍历

(3)对建立的无向图进行广度优先遍历

三、设计与编码

(1)本实验用到的理论知识

(2)算法设计

(3)编码

//图抽象类型及其实现.cpp:Definestheentrypointfortheconsoleapplication.

//

#includestdafx.h

#includeGraph.h

#includeiostream.h

intGraph::Find(intkey,intk)

{

intflag=0;

for(inti=0;iVertexLen;i++)

if(A[i].data.key==key){k=i;flag=1;break;};

returnflag;

};

intGraph::CreateGraph(intvertexnum,Edge*E,intedgenum)

{ //由边的集合E(E[0]~E[VertexNum-1]),生成该图的邻接表表示

if(vertexnum1)return(-1);//参数vertexnum非法

inti,front,rear,k;

Enode*q;

//先生成不带边表的顶点表--即顶点为孤立顶点集

A=newVnode[vertexnum];

if(!A)return(0);//堆耗尽

for(i=0;ivertexnum;i++)

{

A[i].data.key=i;

A[i].tag=0;

A[i].data.InDegree=A[i].data.OutDegree=A[i].tag=0;

A[i].first=0;

};

VertexLen=vertexnum;

//在生成边表

if(edgenum0)return(1);//无边的图

for(i=0;iedgenum;i++)

{

front=E[i].Head;rear=E[i].Tail;

if(!Find(rear,k)||!Find(front,k))return(-2);//参数E非法

q=newEnode;

if(!q)return(0);

q-key=front;

q-Weight=E[i].weight;

q-next=A[rear].first;

A[rear].first=q;

A[rear].data.OutDegree++;

A[front].data.InDegree++;

if(Type2)

{

q=newEnode;

if(!q)return(0);

q-key=rear;

q-next=A[front].first;

A[pe-key].tag--;

if(A[pe-key].tag==0){que[r++]=pe-key;A[pe-key].tag=-1;};

};

};

num=r;

if(rVertexLen)return(0);//存在环

return1;

};

intmain(intargc,char*argv[])

{Graphg1(1);

intnum=5,temp=1;

int*stack=newint[5];

Edgeb[12];

b[0].Head=1;b[0].Tail=0;b[0].weight=1;

b[1].Head=3;b[1].Tail=1;b[1].weight=1;

b[2].Head=0;b[2].Tail=2;b[2].weight=1;

b[3].Head=1;b[3].Tail=4;b[3].weight=1;

b[4].Head=4;b[4].Tail=2;b[4].weight=1;

b[5].Head=4;b[5].Tail=3;b[5].weight=1;

//

b[6].Head=0;b[6].Tail=1;b[6].weight=1;

b[7].Head=1;b[7].Tail=3;b[7].weight=1;

b[8].Head=2;b[8].Tail=0;b[8].weight=1;

b[9].Head=4;b[9].Tail=1;b[9].weight=1;

b[10].Head=2;b[10].Tail=4;b[10].weight=1;

文档评论(0)

138****2866 + 关注
实名认证
文档贡献者

施工员持证人

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

领域认证该用户于2024年06月09日上传了施工员

1亿VIP精品文档

相关文档