📜  在 Graph 的 Adjacency List 表示中添加和删除顶点(1)

📅  最后修改于: 2023-12-03 15:37:20.734000             🧑  作者: Mango

在 Graph 的 Adjacency List 表示中添加和删除顶点

在图数据结构中,Adjacency List 是一种常见的表示方式,它将每个顶点与其邻居顶点列表相关联。

在此表示方式下,添加和删除顶点有一些注意事项。

添加顶点

在 Adjacency List 中添加顶点,我们需要创建一个新的列表并将其添加到图中。

要添加一个新的顶点,我们可以将一个新的key-value对添加到一个字典中,字典的key是与该顶点相对应的标识符,value是一个空的列表,表示该顶点的邻接点。

以下是一个添加一个新的顶点的Python代码片段:

def add_vertex(graph, vertex):
    if vertex not in graph:
        graph[vertex] = []

这个函数接受两个参数,一个是表示整个图的字典,另一个是要添加的顶点。如果字典中没有与该顶点相对应的键,它会将该顶点添加到字典中。

删除顶点

当我们要从 Adjacency List 中删除顶点时,需要删除所有与该顶点相关的边,并且需要从列表中删除顶点本身。

以下是一个删除顶点的Python代码片段:

def remove_vertex(graph, vertex):
    if vertex in graph:
        del graph[vertex]
        for v in graph:
            if vertex in graph[v]:
                graph[v].remove(vertex)

这个函数接受两个参数,一个是表示整个图的字典,另一个是要移除的顶点。它首先从字典中删除该顶点的键,然后遍历图中的每个顶点,检查该顶点是否与要删除的顶点存在边,如果存在,则将其从相关的邻接列表中删除。

这些是在Adjacency List中添加和删除顶点的基本操作。注意,在实际使用中,我们可能需要根据具体情况添加更多的逻辑来处理这些操作。