欢迎访问宙启技术站
智能推送

Python中Graph()的基本操作指南

发布时间:2023-12-28 08:57:09

在Python中,可以使用Graph()函数来创建和操作图。Graph是一种数据结构,用于存储节点和它们之间的关系。

1. 创建图:

使用Graph()函数创建一个空图。

from pythonds import Graph

g = Graph()

2. 添加节点:

使用addVertex(vert)方法向图中添加一个节点。

g.addVertex("A")
g.addVertex("B")
g.addVertex("C")
g.addVertex("D")

3. 添加边:

使用addEdge(from_vert, to_vert, weight)方法添加边,并设置边的权重。如果没有设置权重,默认为1。

g.addEdge("A", "B", 5)
g.addEdge("B", "C", 3)
g.addEdge("C", "D", 2)
g.addEdge("D", "A", 1)

4. 获取所有节点:

使用getVertices()方法获取图中所有的节点。

print(g.getVertices())  # 输出 ['A', 'B', 'C', 'D']

5. 获取边的权重:

使用getWeight(from_vert, to_vert)方法获取两个节点之间边的权重。

print(g.getWeight("A", "B"))  # 输出 5

6. 获取相邻节点:

使用getNeighbors(vert)方法获取一个节点的所有相邻节点。

print(g.getNeighbors("A"))  # 输出 ['B']

7. 判断两个节点是否相邻:

使用isAdjacent(vert1, vert2)方法判断两个节点是否相邻。

print(g.isAdjacent("A", "B"))  # 输出 True
print(g.isAdjacent("B", "D"))  # 输出 False

8. 删除节点:

使用removeVertex(vert)方法删除图中的一个节点以及和它相关的所有边。

g.removeVertex("C")
print(g.getVertices())  # 输出 ['A', 'B', 'D']

9. 删除边:

使用removeEdge(from_vert, to_vert)方法删除两个节点之间的边。

g.removeEdge("A", "B")
print(g.getNeighbors("A"))  # 输出 []

这些是Graph类的一些基本操作和用例,用于创建和操作图。通过这些操作,可以构建和修改任何类型的图,从而实现各种图算法和应用。