使用ArrayList具有邻接表表示的加权图

问题描述

当有人使用ArrayList来实现带有邻接列表表示的加权图时,我感到困惑。例如,在https://www.geeksforgeeks.org/dijkstras-shortest-path-algorithm-in-java-using-priorityqueue/中,代码

List<List<Node> > adj = new ArrayList<List<Node> >(); 

// Initialize list for every node 
for (int i = 0; i < V; i++) { 
    List<Node> item = new ArrayList<Node>(); 
    adj.add(item); 
} 

// Inputs for the DPQ graph 
adj.get(0).add(new Node(1,9)); 
adj.get(0).add(new Node(2,6)); 
adj.get(0).add(new Node(3,5)); 
adj.get(0).add(new Node(4,3)); 

adj.get(2).add(new Node(1,2)); 
adj.get(2).add(new Node(3,4)); 

enter image description here

我想

adj.get(0).add(new Node(1,9)); 

应该是

adj.get(0).add(new Node(1,4)); 

因为边缘0和1之间的权重是4,而不是9。

我错过了什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)