在Scala中为图形创建邻接列表

时间:2015-07-27 13:11:32

标签: scala graph adjacency-list

我有一个边缘列表,对于无向图,保存在var edges: List[Edge]中。其中一些是。

A, B, 6
B, A, 6
A, D, 4
D, A, 4
B, C, 10
C, B, 10
B, D, 7
D, B, 7
B, E, 7
E, B, 7
C, D, 8
D, C, 8
C, E, 5
E, C, 5
C, F, 6
F, C, 6
D, E, 12
E, D, 12
E, F, 7
F, E, 7

我试图将它们放在邻接列表中,这样:

val adjList: List[(Vertex, List[Vertex])] = 
      (graph.edges.groupBy(_.source).map 
          { case (k,v) => (k, v.map {_.destination}) }).toList

但是,它不起作用。我做错了什么? :(

编辑:

这没有错(我的错误,请阅读下面的评论)!

1 个答案:

答案 0 :(得分:0)

我给出的解决方案是正确的。简单来说,这是我身边的错误测试。谢谢大家的帮助。