1、尽可能深的搜索图的分支。常规的深度优先并不会破坏原始数据结构,而是采用 isVisited或者颜色标记法进行表示。
2、访问根节点,对根节点的没访问过的相邻节点挨个进行深度优先遍历。
实例
const graph = { 0: [1, 2], 1: [2], 2: [0, 3], 3: [3], }; //图的深度优先遍历 const visited = new Set(); const dfs = (n) => { console.log(n); visited.add(n); graph[n].forEach((c) => { if (!visited.has(c)) { dfs(c); } }); }; dfs(2); // 2 0 1 3
以上就是js深度优先遍历的介绍,希望对大家有所帮助。更多js学习指路:
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。