徐州网站定制公司,自动生成代码,高清视频素材下载网站,企业安全文化建设中的安全承诺【0】README
0.1#xff09; 本文总结于 数据结构与算法分析#xff0c; 源代码均为原创#xff0c; 旨在 review DFS——深度优先搜索 的基础知识#xff1b; 【1】深度优先搜索的应用
1.1#xff09;深度优先搜索算法描述#xff08;转自天勤计算机考研高分笔记——数…【0】README
0.1 本文总结于 数据结构与算法分析 源代码均为原创 旨在 review DFS——深度优先搜索 的基础知识 【1】深度优先搜索的应用
1.1深度优先搜索算法描述转自天勤计算机考研高分笔记——数据结构
1.1.1图的深度优先搜索遍历DFS类似于二叉树的先序遍历。它的基本思想是(steps step1首先访问出发点v 并将其标记为已访问过step2 然后选取与v 邻接的未被访问的任意一个顶点w 并访问它step3再选取与w 邻接的未被访问的任一顶点并访问它 依次重复进行step4当一个顶点所有的邻接顶点都被访问过时 则依次退回到最近被访问过的顶点这里就是一个递归访问的过程 若该顶点还有其他邻接顶点未被访问 则从这些未被访问的顶点中取一个重复上述的访问过程 直至图中所有顶点都被访问过为止
1.2全局布尔型数值 Visited[] 初始化为false。 通过只对那些尚未被访问的节点递归调用该函数 我们保证不会陷入无限循环。如果图是无向的且不连通的 或是有向的但非强连通的这种方法可能会访问不到某些节点。 此时我们搜索一个未被标记的节点 然后应用深入优先遍历 并继续这个过程直到不存在未标记的节点为止。 因为该方法保证每一条边只访问一次 所以只要使用邻接表 则执行遍历的总时间就是 O|E| |V|