深度优先搜索算法最小生成树关键路径动态演示课件.ppt
《深度优先搜索算法最小生成树关键路径动态演示课件.ppt》由会员分享,可在线阅读,更多相关《深度优先搜索算法最小生成树关键路径动态演示课件.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 v5 v1 v2 v3 v4 3 1 4 2 4 3 2 0 2 1 0 1 01234vertex firstedgeadjvex next顶点表顶点表边表边表V3V1V4V5V2G1void DFS1(AdjGraph*G,int i)/以以vi为出发点时对邻接表表示的图为出发点时对邻接表表示的图G进行进行深度优先深度优先深度优先深度优先搜索搜索 EdgeNode*p;coutadjvex if(!visited padjvex )/若若vj尚未访问尚未访问 DFS1(G,padjvex);/则以则以vj为出发点先深搜索为出发点先深搜索 p=pnext;/DFS1void DFS2(MT
2、Graph*G,int i)/以以vi为出发点对矩阵为出发点对矩阵(0,1矩阵矩阵)表示的图表示的图G进行深度优先搜索进行深度优先搜索 int j;coutGvexlisti;/访问定点访问定点vi visitedi=TRUE;/标记标记vi已访问已访问 dfni=count;/对对vi进行编号进行编号 count+;/下一个顶点的编号下一个顶点的编号 for(j=0;jGn;j+)/依次搜索依次搜索vi的邻接点的邻接点 if(Gedgeij=1)&!visitedj)/若若vj尚未访问尚未访问 DFS2(G,j);/DFS20123=0101101001011010G.edge最小生成树演示
3、1545235666abdcef算法采用邻接矩阵来存储图。1 a2 b3 c4 d5 e6 fa b cd e fa 6 1 5 b 6 5 3 c1 5 5 6 4d 5 5 2e 3 6 6f 4 2 6 用一个数组用一个数组L L来存储各个顶点到当前最小生成树来存储各个顶点到当前最小生成树的最短的最短 距离。距离。uvlength123456u u为顶点,为顶点,v v为当前生成树上为当前生成树上距离顶点距离顶点u u最近的顶点,最近的顶点,lengthlength为边(为边(u u,v v)的权值。)的权值。L:初始化数组初始化数组L L:uvlength123456初始情况下,生成树
4、中只有初始情况下,生成树中只有一个顶点一个顶点a a,并令其到自身,并令其到自身的距离为的距离为0 0。L:1545235666abdcef初始化数组L:uvlength1aa02ba63ca14da55ea6f a在具体实现时,可以用一个比较大的数来表示。L:1545235666abdcef开始生成最小生成树:uvlength1aa02ba63ca14da55ea6f a接下来,选择距离生成树最近的顶点。方法是遍历数组L,找出length不等于0,且为最小的距离。length等于0表示当前顶点已经被选入生成树。L:1545235666abdcefuvlength1aa02ba63ca14da
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 深度 优先 搜索 算法 最小 生成 关键 路径 动态 演示 课件
限制150内