图中节点的最长序列

时间:2010-12-10 08:49:45

标签: algorithm

最近参加了MSFT对SDET职位的采访..第二轮面试官问我这个问题: 给定一个在节点值中有数字的图形,找到所有连接的顶点序列的集合。无法回想起确切的问题..这家伙似乎非常敌对,并且反驳我的每一个解决方案。任何人都知道任何这样的问题..最后解决方案是有一个邻接矩阵.. 仍然不确定这将如何工作..

1 个答案:

答案 0 :(得分:5)

第一步是将双向边缘转换为方向边缘,仅针对每个边缘从较小的编号节点转移到较大的编号节点。请注意,结果图将是有向无环图(DAG),因为我们不能从路径中的小高 - 小数字出发。从这里开始,我们可以忽略节点编号。

我们现在已将问题缩减为longest path problem。解决方案(在链接中详细描述)是在图形上执行拓扑排序,然后使用动态编程来查找最长路径。

所有这一切都可以在线性时间内实现。