深度优先搜索 地图的形式 【题目】类似一张宫格图,即迷宫,小明在迷宫中迷路了,好朋友苏格去寻找他,请你找出一条最短路径的步数。其中有障碍物,不能走。 输入要求:输入代表可以走,输入1代表障碍物; 输出要求:只输出最短步数 输入样例: 5 4 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 ...
分类:
其他好文 时间:
2020-03-30 16:16:14
阅读次数:
64
前面介绍了深度优先搜索,可知DFS是以深度作为关键词的,即当碰到岔道口时总是先选择其中的一条岔路前进,而不管其它的岔路, 直到碰到死胡同时才返回岔道口并选择其它岔路。接下来介绍的广度优先搜索(Breadth First Search,BFS)则是以广度为第一关键词, 当碰到岔道口时,总是先依次访问从 ...
分类:
其他好文 时间:
2020-03-24 23:17:24
阅读次数:
71
树遍历: 根节点=D=Degree 左节点=L=Left 右节点=R=Right 1.前序遍历(DLR) 2.中序遍历(LDR) 3.后序遍历(LRD) 4.层次遍历(一层一层的遍历) 前三种遍历均可用递归或者非递归的方式来遍历。 层次遍历可以设一个队列,把元素放在队列里,每次输出队头元素。 图遍历 ...
分类:
其他好文 时间:
2020-03-23 18:40:30
阅读次数:
84
1 class Solution: 2 def dfs(self,grid,visited,x,y,m,n): 3 if x < 0 or x >= m or y < 0 or y >= n or visited[x][y] == 1: 4 return False 5 if x == m - 1 ...
分类:
其他好文 时间:
2020-03-22 13:40:39
阅读次数:
65
《剑指OFFER》第12题:矩阵中的路径 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“ ...
分类:
其他好文 时间:
2020-03-18 18:24:13
阅读次数:
79
DFS使用c++中的stack,BFS使用c++中的queue 1 #include <iostream> 2 #define MAX_VERTS 20 3 #include <stack> 4 #include <queue> 5 6 using namespace std; 7 8 class ...
分类:
其他好文 时间:
2020-03-14 20:24:01
阅读次数:
68
本质将源代码转为树状结构。测试网站 webpack使用acore babel使用babylon7.0 自己实现可以通过: esprima 将代码转为树状结构 estraverse 遍历树状结构(使用深度优先遍历) escodegen 重新生成代码 let code =' function(){}'; ...
分类:
其他好文 时间:
2020-03-14 00:47:09
阅读次数:
56
题意: 有n个点n-1条边的数,问每个点所在子树中白黑点数目最大差。 思路: 白点先由下至上汇集,后由上至下分并。 #include <bits/stdc++.h> using namespace std; const int M=220000; vector<vector<int>> e(M); ...
分类:
其他好文 时间:
2020-03-13 15:48:43
阅读次数:
69
DFS 深度优先搜索 主要有两种实现方法:栈和递归 什么是DFS?说白了就是一直遍历元素的方式而已,我们可以把它看成是一条小蛇,在每个分叉路口随意选择一条路线走,直到撞到南墙,才会调头返回到上一个分叉路口,走另外一条路,有时候运气很好,撞到了目标点,那么这个算法就结束了。 模板: 参数1 DFS(参 ...
分类:
编程语言 时间:
2020-03-08 21:53:42
阅读次数:
67
基于栈的深度优先搜索 基于手写的栈和STL栈的深度优先 ...
分类:
其他好文 时间:
2020-03-06 01:29:30
阅读次数:
70