Clone Graph BFS & DFS
2015-04-07 17:00
429 查看
变量unordered_map cloneMap;
因为会有环,所以需要cloneMap记录旧的节点和新的节点对。
还需要一个visited记录已经访问过的节点,可以和cloneMap合并在一起。
DFS:
在克隆某个Node时,首先放入map中。
之后遍历neighbors。如果neighbors不在map里,即没有访问过,则递归调用cloneGraph函数。
最后返回克隆过的节点。
?
BFS:
使用一个queue记录要访问的节点。
因为不能在访问queue中节点的时候再创建对应的node==>因为在处理父亲节点的时候需同时创建好其neighbors
所以需要在将不在map中的neighbors(没有访问过的子节点)放入queue的同时创建克隆的节点,并且放入map里。
?
因为会有环,所以需要cloneMap记录旧的节点和新的节点对。
还需要一个visited记录已经访问过的节点,可以和cloneMap合并在一起。
DFS:
在克隆某个Node时,首先放入map中。
之后遍历neighbors。如果neighbors不在map里,即没有访问过,则递归调用cloneGraph函数。
最后返回克隆过的节点。
?
使用一个queue记录要访问的节点。
因为不能在访问queue中节点的时候再创建对应的node==>因为在处理父亲节点的时候需同时创建好其neighbors
所以需要在将不在map中的neighbors(没有访问过的子节点)放入queue的同时创建克隆的节点,并且放入map里。
?
相关文章推荐
- [C++]LeetCode: 129 Clone Graph (图的深拷贝 BFS && DFS)
- [LeetCode] Clone Graph(!!!!graph&dfs&bfs)
- Clone Graph DFS&BFS 图的复制
- Clone Graph leetcode java(DFS and BFS 基础)
- leetcode -- Clone Graph -- deep copy问题,dfs,bfs
- LeetCode 133 Clone Graph (BFS || DFS)
- Clone Graph [leetcode] dfs和bfs
- BFS&&DFS模板
- DFS&&BFS模板
- First Missing Positive & Clone Graph & Sqrt(x)
- SDUT--找朋友(BFS&&DFS)
- HDU 4771 Stealing Harry Potter's Precious【BFS+DFS】
- 第三次组队赛 (DFS&BFS)
- Leetcode bfs&dfs Binary Tree Postorder Traversal II
- 建图方式一 之 ”前向星“ BFS&&DFS 简单应用
- DFS & BFS
- poj 1979DFS&&BFS
- KNOW: BFS & DFS
- 第三次组队赛(bfs&&dfs)
- DFS & BFS