2017-03-31 71 views
0

我想在Python中实现以下内容,但不知道从哪里开始。对于这种类型的最短路径问题,有没有好的模块?计算从设置节点到所有其他节点的最短路径,其中一些节点被禁止路径

我试图XYZ的给定集合中,以限定从特定原子(节点)到所有其它原子(节点)的最短路径坐标用于3D化学结构(图)。原子(节点)之间的键是允许从节点到节点的行进的边缘。

我想根据从选定中心节点向外的连通性从分子(图)中筛选出某些原子(节点)。

**对于考虑的路径,我想FORBID特定的原子(节点)被越过。如果从A到B的最短路径是通过禁止节点的,那么这个答案是不允许的。从A到B的最短路径不得包含禁止节点**如果从所选中心原子(A)到另一个其他节点(B)的最短路径包含禁止节点,并且没有其他可用路径可用从A到B通过可用的边(键),然后从最后一组要保存的xyz坐标(节点)中删除节点B.

对于结构(图)中的所有其他原子(节点),这应该针对A到C,A到D,A到E等重复。

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

回答

0

确保导致禁止节点的所有边都具有无限的成本,并且您使用的任何图遍历算法都会自动处理。

或者,只是删除禁止的节点被图遍历算法考虑。

+0

谢谢。你会推荐什么文件格式和Python模块? –

0

要回答你的问题的第一部分,我推荐networkx.这是一个通用的图形库,很容易进入(我用它在我的博士学位)。

相关问题