1 / 4
文档名称:

深度优先算法与广度优先算法的比较.doc

格式:doc   大小:22KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

深度优先算法与广度优先算法的比较.doc

上传人:xiang1982071 2020/8/8 文件大小:22 KB

下载得到文件列表

深度优先算法与广度优先算法的比较.doc

文档介绍

文档介绍:DFS与BFS的比较姓名:班级:学号:一、,按某既定方式访问图中各个可访问到的结点,使每个可访问到的结点恰被访问一次。:深度优先与广度优先二、:首先访问出发点v,并将其标记为已访问过;然后依次从v出发搜索v的每个邻接点w。若w未曾访问过,则以w为新的出发点继续进行深度优先遍历,直至图中所有和源点v有路径相通的顶点(亦称为从源点可达的顶点)均已被访问为止。若此时图中仍有未访问的顶点,则另选一个尚未访问的顶点作为新的源点重复上述过程,直至图中所有顶点均已被访问止。广度优先遍历可定义如下:假设从图中某顶点v出发,在访问了v之后依次访问v的各个未曾访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,并使“先被访问的顶点的邻接点”先与“后被访问的顶点的邻接点”被访问,直至图中所有已被访问的顶点的邻接点都被访问到。若此时图中尚有顶点未被访问,则另选图中一个曾被访问的顶点作起始点,重复上述过程,直至图中所有顶点都被访问到为止。,从初始点出发,不断向前走,如果碰到死路了,就往回走一步,尝试另一条路,直到发现了目标位置。这种方法,即使成功也不一定找到一条好路,但是需要记住的位置比较少。广度优先就是,从初始点出发,把所有可能的路径都走一遍,如果里面没有目标位置,则尝试把所有两步能够到的位置都走一遍,看有没有目标位置;如果还不行,则尝试所有三步可以到的位置。这种方法,一定可以找到一条最短路径,但需要记忆的内容实在很多,要量力而行。(1)图的深度优先算法的一般性描述:longDFS(图s,结点v。){//从结点v。出发,深度优先遍历图s,返回访问到的结点总数intnNodes;//寄存访问到的结点数目 访问v。;为v。置为已访问标志;nNodes=1;求出v。的第1个可达邻接点v;while(v存在){if(v未被访问过)nNodes=nNodes+DFS(s,v);求出v。的下个可达邻接点v;}returnnNodes;} (2)图的广度优先算法的一般性描述:longBFS(图s,结点v。){//在图s中从v。出发按广度优先遍历方式遍历s,返回遍历到的结点数目longnNodes=0;初始化队列q;if(v。存在){v。入队列q;置v。