LeetCode在解决图相关的问题的一些深入的思考

1 DFS和BFS 说到底是遍历所有的节点的算法,而visited这个辅助存储 就是为了防止再走之前走过的节点。但是如果我们有个问题 需要遍历所有的边怎么办?(就像332. Reconstruct Itinerary 我们要遍历所有的边 而且只有一次 返回最小的字典序的节点组合)
2 针对自己不想用DFS的问题(主要是想递归实在太蛋疼)而且有的时候 明明是DFS更适合 却一定要用BFS。其实自己仔细想一下 dfs也没啥大问题 只要想清楚我们这个DFS函数的含义就行了,至于里面的参数 无非就是Map,visited, 再加上自己需要的一些东西 比如说要构建的path. 就算想不全 也没关系 能写几个写几个 只有有需要的话再添加就是。不过说到底 还是因为不想写递归,如果实在不想写 写用stack来写也行,就像前序中序后序遍历的遍历写法。

posted @ 2020-12-23 10:28  EvanMeetTheWorld  阅读(17)  评论(0)    收藏  举报