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 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曲径求解器

源代码

参阅一 - 亚图跨际
参阅二 - 亚图跨际

相关推荐

  1. 计算距离

    2023-12-23 08:46:04       32 阅读
  2. 论——路径

    2023-12-23 08:46:04       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-23 08:46:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-23 08:46:04       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-23 08:46:04       87 阅读
  4. Python语言-面向对象

    2023-12-23 08:46:04       96 阅读

热门阅读

  1. Linux下 自定义多线程并发快速压缩解压缩脚本

    2023-12-23 08:46:04       48 阅读
  2. ChatGPT真的不火了吗?

    2023-12-23 08:46:04       71 阅读
  3. PID算法

    2023-12-23 08:46:04       75 阅读
  4. AI一叶知秋:从目标检测部署浅谈人工智能发展

    2023-12-23 08:46:04       65 阅读
  5. 基于模板匹配算法的车牌识别(Matlab代码)

    2023-12-23 08:46:04       51 阅读
  6. 【Spark源码分析】Spark的RPC通信一-初稿

    2023-12-23 08:46:04       48 阅读
  7. CSS中页面的布局案例-利用浮动

    2023-12-23 08:46:04       54 阅读
  8. 【ES实战】ES6.7的tar包离线安装帮助手册

    2023-12-23 08:46:04       56 阅读
  9. Angular.js 实现带手柄自由调整页面大小的功能

    2023-12-23 08:46:04       57 阅读