🥭Python和NetworkX有向图计算节点欧几里德距离最短路径
Python | NetworkX | 有向图 | 无向图 | 节点 | 边 | 欧几里德距离 | 最短距离 | 可缩放矢量图形 SVG
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 networkx
G = 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曲径求解器
源代码
Last updated