有向加权边图的Java邻接表实现

有向加权边图的Java邻接表实现,java,graph,linked-list,adjacency-list,Java,Graph,Linked List,Adjacency List,我试图在Java中使用邻接列表实现一个有向加权边图。它由一个大小等于顶点数的数组组成,数组的每个条目都是每个特定的顶点的后续项的链接列表 我想为每条边添加权重,我想通过在LinkedList中的每个后续对象添加权重标签来实现,此外,我还想为每个顶点添加其他变量,以备将来使用。如果我想这样做,我必须为顶点创建一个新的数据结构,并创建一个单独的数据结构作为邻接列表。将两者结合为单个数据结构的有效设计是什么?您应该将图形表示为HashMap,其中键是顶点的标签,值是顶点对象 HashMap<St

我试图在Java中使用邻接列表实现一个有向加权边图。它由一个大小等于顶点数的数组组成,数组的每个条目都是每个特定的
顶点
的后续项的
链接列表


我想为每条边添加权重,我想通过在
LinkedList
中的每个
后续对象添加权重标签来实现,此外,我还想为每个
顶点添加其他变量,以备将来使用。如果我想这样做,我必须为顶点创建一个新的数据结构,并创建一个单独的数据结构作为邻接列表。将两者结合为单个数据结构的有效设计是什么?

您应该将图形表示为HashMap,其中键是顶点的标签,值是顶点对象

HashMap<String,Vertex> graph = new HashMap<String,Vertex>();
HashMap graph=newhashmap();
Vertex是一个封装顶点属性的类。对于具有权重的相邻顶点,将有一个属性HashMap

HashMap<Vertex,Integer> adjListWithWeights = new HashMap<Vertex,Integer>();
HashMap adjListWithWeights=new HashMap();
您可以通过顶点类向图形添加更多功能和属性