首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >枚举前2^20条路径,这些路径不包含两个顶点之间的循环

枚举前2^20条路径,这些路径不包含两个顶点之间的循环
EN

Stack Overflow用户
提问于 2013-04-26 17:16:19
回答 1查看 80关注 0票数 3

输入是一个无向循环平面图,每个顶点最多有8条边。

按照从最短到最长的顺序枚举两个顶点v_0,v_1之间的所有路径的方法是什么?什么是计算复杂性?

如果上面不可能,什么方法可以生成长度不超过K的所有路径。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-26 17:41:36

你想获得最短路径到->指出的最长路径,你可以尝试BFS。

路径不能包含循环->,你应该存储路径已经通过了哪些顶点(当你做BFS时)。

复杂性:您可以看到路径不包括循环,这意味着路径只能通过每个节点一次。所以解空间是O(n!)在最坏的情况下,BFS可能会访问解空间中的每条路径。因此复杂度为O(n!)。

你可能会对这个结果感到失望。好的,你的问题是一个著名的问题,已经被很好地研究过了。你可以阅读这篇论文:

代码语言:javascript
复制
Finding the K Shortest Loopless Paths in a Network
Jin Y. Yen

或使用wikipedia pages获得第K个最短路径问题的直观视图。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16232834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档