如何在邻接列表中连接2个顶点?

时间:2018-11-21 03:44:00

标签: java

我正在尝试学习不同的数据结构,而我目前正努力地研究图形。

我正在尝试使用链接列表映射来实现邻接列表。这样,我便可以搜索顶点的名称并快速查看其所有连接。

但是我很难添加任何连接。我目前正在做的是

   public void add(V vertexName) {
    if (!contains(vertexName)) {
        ArrayList<V> array = new ArrayList<>(); 
        adjList.put(vertexName,array);
    }

}

public void connect(V start, V destination) {
if (!contains(start) || !contains(destination))
    throw new NoSuchElementException();
adjList.get(start).add(destination); //adds destination to starts arraylist

}

System.out.print(adjList.toString);

但是,例如,如果我将12、10和20添加到列表中,然后将20和12连接起来,我仍然会得到:

12

10

20

代替

12

10

20 - > 12

任何提示将不胜感激。如果有帮助,adjList是一个

Map<V,ArrayList<V>> adjList;

我只是想从有向无加权图开始做起,使事情变得简单

0 个答案:

没有答案