Java图之邻接矩阵实现

图的邻接矩阵实现

图的存储结构有如下几种:

  1. 邻接矩阵
  2. 邻接表
  3. 逆邻接表
  4. 十字链表
  5. 边集数组

下面看看邻接矩阵是如何实现的:

Java图之邻接矩阵实现

很简单, 直接用java代码实现吧

图的Java代码实现

代码是我自己写的, 若有不足之处, 还望不吝赐教, 感激不尽

首先定义图的接口, 说明图应该实现的功能:

Java图之邻接矩阵实现

其中用到了Vertex顶点类, Arc弧类, 如下所示:

Java图之邻接矩阵实现

Java图之邻接矩阵实现

正式开始写邻接矩阵实现类:

首先需要四个变量, 分别保存图的顶点、弧、顶点数量、是否为有向

Java图之邻接矩阵实现

实现其构造函数:

Java图之邻接矩阵实现

Java图之邻接矩阵实现

Java图之邻接矩阵实现

Java图之邻接矩阵实现

Java图之邻接矩阵实现

实现图的功能.

向图中添加顶点:

Java图之邻接矩阵实现

Java图之邻接矩阵实现

Java图之邻接矩阵实现

删除顶点:

Java图之邻接矩阵实现

修改图中弧的信息, 也可以添加弧:

Java图之邻接矩阵实现

删除弧:

Java图之邻接矩阵实现

拿到所有弧:

Java图之邻接矩阵实现

Java图之邻接矩阵实现

Java图之邻接矩阵实现

拿到所有一个顶点:

Java图之邻接矩阵实现

Java图之邻接矩阵实现

拿到所有顶点信息:

Java图之邻接矩阵实现

还有其他一些方法实现, 源码如下, 可自行查看:

Java图之邻接矩阵实现


分享到:


相關文章: