【精品数据结构】Graph Applications.ppt

【精品数据结构】Graph Applications.ppt

ID:50726053

大小:366.50 KB

页数:37页

时间:2020-03-16

【精品数据结构】Graph Applications.ppt_第1页
【精品数据结构】Graph Applications.ppt_第2页
【精品数据结构】Graph Applications.ppt_第3页
【精品数据结构】Graph Applications.ppt_第4页
【精品数据结构】Graph Applications.ppt_第5页
资源描述:

《【精品数据结构】Graph Applications.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、GraphApplicationsModelingconnectivityincomputernetworksRepresentingmapsModelingflowcapacitiesinnetworksFindingpathsfromstarttogoal(AI)ModelingtransitionsinalgorithmsOrderingtasksModelingrelationships(families,organizations)GraphsAgraphG=(V,E)consistsofasetofverticesV,andase

2、tofedgesE,suchthateachedgeinEisaconnectionbetweenapairofverticesinV.Thenumberofverticesiswritten

3、V

4、,andthenumberedgesiswritten

5、E

6、.Graphs(2)PathsandCyclesPath:Asequenceofverticesv1,v2,…,vnoflengthn-1withanedgefromvitovi+1for1<=i

7、ct.Acycleisapathoflength3ormorethatconnectsvitoitself.Acycleissimpleifthepathissimple,exceptthefirstandlastverticesarethesame.ConnectedComponentsAnundirectedgraphisconnectedifthereisatleastonepathfromanyvertextoanyother.Themaximumconnectedsubgraphsofanundirectedgrapharecall

8、edconnectedcomponents.DirectedRepresentationUndirectedRepresentationRepresentationCostsAdjacencyMatrix:AdjacencyList:GraphADTclassGraph{//Graphabstractclasspublic:virtualintn()=0;//#ofverticesvirtualinte()=0;//#ofedges//Returnindexoffirst,nextneighborvirtualintfirst(int)=0;

9、virtualintnext(int,int)=0;//StorenewedgevirtualvoidsetEdge(int,int,int)=0;//DeleteedgedefinedbytwoverticesvirtualvoiddelEdge(int,int)=0;//Weightofedgeconnectingtwoverticesvirtualintweight(int,int)=0;virtualintgetMark(int)=0;virtualvoidsetMark(int,int)=0;};GraphTraversalsSom

10、eapplicationsrequirevisitingeveryvertexinthegraphexactlyonce.Theapplicationmayrequirethatverticesbevisitedinsomespecialorderbasedongraphtopology.Examples:ArtificialIntelligenceSearchShortestpathsproblemsGraphTraversals(2)Toinsurevisitingallvertices:voidgraphTraverse(constGr

11、aph*G){for(v=0;vn();v++)G->setMark(v,UNVISITED);//Initializefor(v=0;vn();v++)if(G->getMark(v)==UNVISITED)doTraverse(G,v);}DepthFirstSearch(1)//DepthfirstsearchvoidDFS(Graph*G,intv){PreVisit(G,v);//TakeactionG->setMark(v,VISITED);for(intw=G->first(v);wn();w=G->ne

12、xt(v,w))if(G->getMark(w)==UNVISITED)DFS(G,w);PostVisit(G,v);//Takeaction}DepthFirs

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

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

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