请问python字符创中如何计算收尾相接的最短最长路径

发布于 2022-09-11 21:40:50 字数 393 浏览 13 评论 0

请问python字符创中如何计算收尾相接的最短最长路径

1.主要是要收尾相接
2.每接上去一个,权重为1
题目一:找出字符串中最长、最短路径
题目二:根据设置权重值,找出该权重下的最长最短路径,比如说2,就是1-2范围内
刚入python的坑,求大神指导

例子:
字符串:A/B,B/C,B/D,C/A,D/B

最长路径:
C->A->B->D 权重3

中间路径
A->B->C 权重2
A->B->D 权重2
B->C->A 权重2
D->B->C 权重2
C->A->B 权重2

最短路径:
B->D 权重1
D->B 权重1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

多情癖 2022-09-18 21:40:50

你这个问题是关于图(graph)的算法。Python里有很多关于graph的实现库。据我所知networkX应该能完成你的这个任务。具体的步骤是:
1.根据你的输入构造一个有向图
2.从该有向图中生成最小生成树 (Minimum Spanning Tree)
3.所有没有包含在最小生成树的边被称为回边,事实上每条回边意味着一条闭合回路
4.在最小生成树上每个节点都有一个层级,根节点为0,其它节点的层级为其父节点的层级加1
5.每条闭合回路的长度就是标识该回路的回边的两个节点的层级之差再加上1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文