标签:图论 leetcode 九章算法 lintcode 面试题
http://www.jiuzhang.com/problem/61/
给出一个图,并且给出图的起始节点,知道这个图的节点的定义,要求克隆这个图,返回克隆图的起始节点。
http://www.lintcode.com/en/problem/clone-graph/
这一类克隆一个图的题目,我们都可以分为两步。
第一步: 克隆点。 只需要用广度优先搜索的方法从根节点出发去遍历一遍图,并且同时克隆出每个点A相应的克隆点A`保存在map里面,所以map里面存储每个点的对应克隆点。
第二步: 克隆边。再用广度优先搜索的方法遍历一遍图,并且这个时候由于知道一个点A的相邻点点B,而map里面存储了A的克隆点A`,B的克隆点B`, 所以这个时候也知道A`和B`是相邻点,建立克隆边。
这样通过这两个步骤就可以对一个图进行完整的克隆。
标签:图论 leetcode 九章算法 lintcode 面试题
原文地址:http://blog.csdn.net/jiuzhang_ninechapter/article/details/45681745