我想在 Python 中实现以下内容,但不知道从哪里开始。这种类型的最短路径问题是否有好的模块?
我试图在给定的 xyz 坐标集合中为 3D 化学结构(图表)定义从特定原子(节点)到所有其他原子(节点)的最短路径。原子(节点)之间的键是允许从一个节点到另一个节点的移动的边。
我试图根据从选定中心节点向外的连接性从分子(图)中过滤掉某些原子(节点)。
**对于考虑的路径,我想禁止某些原子(节点)被交叉。如果从 A 到 B 的最短路径是通过禁止节点,则该答案是不允许的。从 A 到 B 的最短路径不能包括禁止节点**
如果从所选中心原子 (A) 到另一个其他节点 (B) 的最短路径包括禁止节点,并且没有通过可用边(键)从 A 到 B 的其他可用路径,则应从节点 B 中删除要保存的最后一组 xyz 坐标(节点)。
对于结构(图)中的所有其他原子(节点),应该对 A 到 C、A 到 D、A 到 E 等重复此操作。
提前感谢您提供的任何帮助。