本文主要是介绍Python和NetworkX计算有向图节点欧几里德距离最短路径,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Networkx
NetworkX 是一个 Python 语言软件包,用于创建、操作和研究复杂网络的结构、动力学和功能。 它用于研究以具有节点和边的图形式表示的大型复杂网络。 使用networkx我们可以加载和存储复杂的网络。 我们可以生成多种类型的随机和经典网络、分析网络结构、构建网络模型、设计新的网络算法和绘制网络。
创建节点
一次添加一个节点:
G.add_node(1)
添加节点列表:
G.add_nodes_from([2,3])
让我们在图 G 中创建节点。添加节点 1、2、3、4、7、9 后
创建边
一次添加一条边:
G.add_edge(1,2)
G.add_edge(3,1)
G.add_edge(2,4)
G.add_edge(4,1)
G.add_edge(9,1)
添加边列表:
G.add_edges_from([(1,2),(1,3)])
添加边 (1,2)、(3,1)、(2,4)、(4,1)、(9,1)、(1,7)、(2,9) 后。
删除节点和边
人们可以使用以下任一函数来拆除该图:
Graph.remove_node(), Graph.remove_nodes_from(),
Graph.remove_edge(), Graph.remove_edges_from()
import networkxG = networkx.Graph()G.add_node(1)
G.add_node(2)
G.add_node(3)
G.add_node(4)
G.add_node(7)
G.add_node(9)G.add_edge(1,2)
G.add_edge(3,1)
G.add_edge(2,4)
G.add_edge(4,1)
G.add_edge(9,1)
G.add_edge(1,7)
G.add_edge(2,9)node_list = G.nodes()
print("#1")
print(node_list)edge_list = G.edges()
print("#2")
print(edge_list)G.remove_node(3)
node_list = G.nodes()
print("#3")
print(node_list)G.remove_edge(1,2)
edge_list = G.edges()
print("#4")
print(edge_list)n = G.number_of_nodes()
print("#5")
print(n)m = G.number_of_edges()
print("#6")
print(m)d = G.degree(2)
print("#7")
print(d)neighbor_list = G.neighbors(2)
print("#8")
print(neighbor_list)G.clear()
输出:
#1
[1, 2, 3, 4, 7, 9]
#2
[(1, 9), (1, 2), (1, 3), (1, 4), (1, 7), (2, 4), (2, 9)]
#3
[1, 2, 4, 7, 9]
#4
[(1, 9), (1, 4), (1, 7), (2, 4), (2, 9)]
#5
5
#6
5
#7
2
#8
[4, 9]
有向图
项目:Python曲径求解器
源代码
参阅一 - 亚图跨际
参阅二 - 亚图跨际
这篇关于Python和NetworkX计算有向图节点欧几里德距离最短路径的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!