2017-08-23 2 views
0

Ich habe eine scalax.collection.Graph und möchte eine Sammlung aller Nachfolger eines bestimmten Knotens erhalten.Wie bekomme ich alle Nachfolger eines bestimmten Knotens eines Graphen?

import scalax.collection.Graph 

... 

val node = Graph('f~>'g, 'g~>'y, 'f~>'h).get('f) 
val successors = <statement to get successors of f> // = collection with g and h 

ich gerade Scala am Lernen und schon gesucht und versucht, mehrere Stunden, wie dies zu tun, aber ich kann es einfach nicht herausfinden.

Antwort

1
scala> import scalax.collection.Graph 
import scalax.collection.Graph 

scala> import scalax.collection.GraphPredef._ 
import scalax.collection.GraphPredef._ 

scala> val node = Graph('f~>'g, 'g~>'y, 'f~>'h).get('f) 
node: scalax.collection.Graph[Symbol,scalax.collection.GraphEdge.DiEdge]#NodeT = 'f 

scala> val successors = node.outgoing.map(_.to.value) 
successors: scala.collection.immutable.Set[Symbol] = Set('g, 'h) 
+0

Dies funktioniert und führt auch dazu, dass "f" ein Nachfolger ist, wenn die Kante "f ~>" vorhanden ist. Ich habe tatsächlich eine andere Lösung gefunden: "val-Nachfolger = node.diSuccessors", aber dies führt nicht dazu, dass "f" ein Nachfolger ist, wenn die Kante "f ~>" vorhanden ist. –

Verwandte Themen