首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

DFS与BFS

树的结构 为了方便读者查看简洁的DFS和BFS逻辑,这里把树的基本结构统一抽取出来且不讨论树的实现 // 树的基本结构 public class Tree { // 树根 private...DFS 深度优先搜索,从某个初始点出发,首先访问初始点,然后选择一个与该点相邻且没有访问过的点,接着以该相邻点为初始点,重复上述操作,直到所有点都被访问过了,即考虑访问到最深度,然后再回溯 递归实现 /.../ 树的DFS日常经常使用,前序遍历即可 // dfs遍历,前序遍历即这个思想,到了叶子节点才回溯 public void dfs(){ dfs(root); } private void dfs...= null){ System.out.println(node.value); dfs(node.left); dfs(node.right);...应用(后期补充) BFS:最短链 DFS:走迷宫

40210

图论--DFS总结

1.Key word:①双向DFS  ②回溯   今天就看到了这么多DFS,其实DFS更倾向于枚举所有情况。...对于双向DFS,我们考虑看看最短路,起点做一下搜索,记录一下到所有点的距离,终点做一下搜索,记录一下到所有点的距离,那么起点到任一点的距离加上终点到任一点的距离那不就是起点到终点经过这一点的最短距离,我觉得...BFS也可以实现,所以在我眼里BFS相对于DFS更强一点,只有说得到特定的某一结果的时候深搜可能会好一点。...DFS题型: 哈密尔顿路径 欧拉回路 连通性 枚举题目  全排列(也是枚举)所以DFS对于状态的找寻比较局限,目前还没看到更好的题目。 后期还会继续更新,与填坑。

33620
领券