📜  在图的邻接矩阵表示中添加和删除边(1)

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

在图的邻接矩阵表示中添加和删除边

邻接矩阵是表示图的常用方式之一,它使用二维数组来记录图的连接关系,数组的行和列分别代表图中的节点,数组元素的值表示从一个节点到另一个节点是否有连接。

在邻接矩阵中,添加和删除边都比较容易实现,下面我们来介绍一下具体的实现方法。

添加边

在邻接矩阵中添加边的方式很简单,只需要将对应的数组元素修改为1即可。

/**
 * 在邻接矩阵中添加边
 *
 * @param edges  邻接矩阵
 * @param from   起始节点
 * @param to     目标节点
 * @param weight 权重
 */
public static void addEdge(int[][] edges, int from, int to, int weight) {
    edges[from][to] = weight;
}

上面的代码中,fromto分别代表起始节点和目标节点,weight代表边的权重。

删除边

在邻接矩阵中删除边的方式也很简单,只需要将对应的数组元素修改为0即可。

/**
 * 在邻接矩阵中删除边
 *
 * @param edges 邻接矩阵
 * @param from  起始节点
 * @param to    目标节点
 */
public static void removeEdge(int[][] edges, int from, int to) {
    edges[from][to] = 0;
}

上面的代码中,fromto分别代表起始节点和目标节点。

结语

邻接矩阵是表示图的一种常用方式,它的实现方式相对简单,适用于节点数量比较少的场景。在实际使用过程中,还需要注意空间开销问题。