使用Networkx在Python中查找1跳,2跳,...,k跳邻居

阿米尔

我正在尝试使用来查找图中某些特定节点(让我们说l节点)的1跳,2跳和k跳邻居nx.single_source_dijkstra_path_length

  1. 每个步骤(1跳,2跳,...)的时间复杂度是多少?
  2. 有没有更快的算法?
闪亮的05

如果您正在查看未加权图,则可以使用广度优先搜索,并且小k的时间复杂度应为average O(<k>^k),这<k>是所考虑图的平均程度。

如果要在加权图中计算多个距离,则应使用multi_source_dijkstra_path_length我不确定该算法具有哪个运行时,但与Dijkstra的多次运行O(|V|log(|V|)+|E|)(取决于实现)相比,可能是一个改进

如果要在加权图中使用最大距离的阈值,则可能取决于边缘上的权重分布以及最小或平均边缘权重,这会影响计算达到阈值所需的节点数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章