繁体   English   中英

计算从设置节点到所有其他节点的最短路径,其中某些节点被禁止从路径

[英]Calculating shortest path from set node to all other nodes, with some nodes forbidden from path

我想在Python中实现以下内容,但不确定从哪里开始。 是否有针对此类最短路径问题的良好模块?

我正在尝试为3D化学结构(图)在给定的xyz坐标集合中定义从特定原子(节点)到所有其他原子(节点)的最短路径 原子(节点)之间的键是允许从一个节点到另一个节点行进的边。

我试图根据从选定中心节点向外的连通性从分子(图形)中滤除某些原子(节点)。

**对于所考虑的路径,我想禁止某些原子(节点)被越过。 如果从A到B的最短路径是通过禁止的节点,则不允许该答案。 从A到B的最短路径不得包含禁止的节点**

如果从选定的中心原子(A)到另一个其他节点(B)的最短路径包括禁止的节点,并且没有其他的路径通过可用边(键)从A到B,那么应该从中删除节点B。要保存的最后一组xyz坐标(节点)。

对于结构(图形)中的所有其他原子(节点),应针对A至C,A至D,A至E等重复此操作。

在此先感谢您提供的任何帮助。

确保将导致禁止节点的所有边都具有无限成本,并且无论您使用哪种图形遍历算法都会自动对其进行处理。

或者,只需从图遍历算法中删除禁止节点即可。

为了回答问题的第一部分,我建议使用networkx。 这是一个通用的图形库,非常容易使用(我在博士学位中使用了它)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM