MatrixDG

前文我们介绍了邻接矩阵创建无向图,本文我们用Java实现邻接矩阵有向图的创建。

一. 邻接矩阵有向图介绍

有向图的应用方向也很广,比如微信中好友A可以添加B但是,B可以不添加A,再比如微博中的关注数,下图体现出了无向图和有向图的差异,同时还拓展了,第三种图,加权图。

title

二.代码说明

1. 基本定义

这里定义还是和之前一样

1
2
3
4
5
6
7
8
public class MatrixDG<T> {

// 顶点
private ArrayList<T> vertexs;
// 存储边
private int[][] edge;

}

2. 算法实现

这边只需要把邻接矩阵无向图的insertEdge稍作改动就可以了。

1
2
3
4
5
6
7
8
9
// 有向图和无向图的区别,仅仅是在插入边时做改动
private void insertEdge(int v1, int v2, int weight) {
edge[v1][v2] = weight;
}


private void insertVertex(T i) {
vertexs.add(i);
}

方便大家学习,提供了源代码


MatrixDG
http://example.com/2020/11/22/2020年11月22日14:11:18_邻接矩阵有向图/
Author
Hoey
Posted on
November 22, 2020
Licensed under