两节点间所有路径的快速算法

2024-05-14 18:49:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python编码很陌生,我正在寻找一种算法,它可以快速找到一个非常大的图的开始节点和结束节点之间的所有路径,比如一个有大约1000个节点和10000条边的图。从开始节点到结束节点实际存在的路径数很小-不到10条。为了使问题更具体一些,考虑一个社交网络——如果我有1000个朋友,我想知道我高中最好的朋友和我大学室友有多少联系方式,我不在乎我高中最好的朋友和我所有200个高中朋友都有联系,因为这些联系永远不会导致我的室友。我想用这段python代码做的是快速地将我两个朋友之间的路径子集化,并从根本上消除这两个节点周围存在的所有“噪音”。

我试着实现了一些代码示例,所有这些代码都能很好地处理小而简单的图形。然而,当我试图将它们合并到我的大型图分析中时,它们都需要很长时间才能有用。

你们都有什么方法可以研究的建议吗(例如,在networkx中已经创建的东西,甚至是关于使用堆栈和递归的信息,等等…),要实现的代码示例,甚至是要追求的python之外的其他路由?记住,我是一个Python新手。


Tags: 代码路径网络算法示例编码节点朋友

热门问题