由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问个算法题:寻找两个点之间的所有路径
相关主题
M的面试题请教一道onsite面试题
攒人品,google电话面经问个google的面试题。
graph如何找最短路径?请教,求最近5分钟,10分钟,1小时内Top 3的搜索关键字, 这题有什么好的想法?
带限制条件的最短路径题怎么做?贴一道题,帮忙做做code review (How can we generate all possibilities on braces )
为什么我觉得dp的题都挺难的讨论一道题:找出一个board上的所有单词
A面经A面试题
google面经(挂了)google 一题
这道题的follow up不会做,感觉跪了,求大牛指教M 面试问题 (update,
相关话题的讨论汇总
话题: dfs话题: 路径话题: end话题: source话题: 算法
进入JobHunting版参与讨论
1 (共1页)
w*****k
发帖数: 42
1
给定一个图,一个source,一个destination,要找这两点之间的所有路径。
要求算法的scalability要好,当这个图的节点数较多时,时间复杂度和空间复杂度都
不能太高。
s********y
发帖数: 58
2
都尼玛所有路径了, 时间复杂度能不高吗... 完全图的话尼玛不就是指数级别吗.
d**e
发帖数: 6098
3
DFS吧?

【在 w*****k 的大作中提到】
: 给定一个图,一个source,一个destination,要找这两点之间的所有路径。
: 要求算法的scalability要好,当这个图的节点数较多时,时间复杂度和空间复杂度都
: 不能太高。

w*****k
发帖数: 42
4
这个我试过,当节点多的时候,recursive stack数目非常大,效率太低

【在 d**e 的大作中提到】
: DFS吧?
d**e
发帖数: 6098
5
不知写个non-recursive的DFS会不会好点,减少system stack call.
要用一个stack,但因为我想打印出路径,所以觉得用一个deque来保存各个点比较好点。
void FindAllPath(G, source, dest)
deque d;
d.push_back(source);
//这里还要一个数据结构visit表示点是否访问过,跟DFS那里一样。
while(!d.empty())
u = d.back();
for(each v in u's neighbor)
if( v == dest)
print path (that is from d's front to end)
else if v has been visited
continue;
else
d.push_back(v);
end if
u = d.back();
end for
u = d.back();
mark u visited;
d.pop_back();
end while

【在 w*****k 的大作中提到】
: 这个我试过,当节点多的时候,recursive stack数目非常大,效率太低
w*****k
发帖数: 42
6
呵呵,这个我也试过了,这相当于BFS。这个算法的缺点是如果两个点之间的距离较远
,到最后这个queue会非常大,内存受不了。我用java在4G memeory的机器上跑过,最
后都memory overflow。当然我这个图比较大,有几千个点。对于small scale的这个算
法没问题。

点。

【在 d**e 的大作中提到】
: 不知写个non-recursive的DFS会不会好点,减少system stack call.
: 要用一个stack,但因为我想打印出路径,所以觉得用一个deque来保存各个点比较好点。
: void FindAllPath(G, source, dest)
: deque d;
: d.push_back(source);
: //这里还要一个数据结构visit表示点是否访问过,跟DFS那里一样。
: while(!d.empty())
: u = d.back();
: for(each v in u's neighbor)
: if( v == dest)

1 (共1页)
进入JobHunting版参与讨论
相关主题
M 面试问题 (update,为什么我觉得dp的题都挺难的
我又fail了面试A面经
BB面经google面经(挂了)
Y! onsite新鲜面经这道题的follow up不会做,感觉跪了,求大牛指教
M的面试题请教一道onsite面试题
攒人品,google电话面经问个google的面试题。
graph如何找最短路径?请教,求最近5分钟,10分钟,1小时内Top 3的搜索关键字, 这题有什么好的想法?
带限制条件的最短路径题怎么做?贴一道题,帮忙做做code review (How can we generate all possibilities on braces )
相关话题的讨论汇总
话题: dfs话题: 路径话题: end话题: source话题: 算法