2016-11-08 2 views
0

Eine Adjazenzliste Darstellung als Graph wird hier gezeigt,Darstellen eines Graphen in Scala als Adjazenzliste

https://www.khanacademy.org/computing/computer-science/algorithms/graph-representation/a/representing-graphs.

Ich bin ziemlich neu zu Scala, und das ist also ziemlich trivial nehme ich an. Ich möchte mein Diagramm in Scala als eine Adjazenzliste darstellen, aber Kanten sollten ein Gewicht haben. Ich dachte also, für jeden Eintrag in der Adjazenzliste für jeden Knoten ein Tupel zu haben, wobei das Tupel der Eckpunkt und die Kantenkosten sind. Hoffentlich macht das Sinn. Ich möchte nur wissen, wie man diese Graphendarstellung in ein val schreibt.

Zum Beispiel:

A -> [(B, 1), (C, 1), (D, 1)] 

B -> [(A, 1), (C, 2), (D, 2)] 

C -> [(A, 1), (B, 2)] 

D -> [(A, 1), (B, 2)] 

Wie würde ich dies schreibe als val in Scala? Der Index der Liste kann die Buchstaben der Knoten darstellen. Wäre das ein List[List[(String, Int)]]? Ich finde es in Scala schwierig, Variablen Werte zuzuweisen, wenn ich wirklich den Typ der Variablen angeben möchte.

Antwort

0

Wie würde ich das als Val in Scala schreiben?

val adjList = List(List(("b", 1), ("c", 1), ("d", 1)), List(...), List(...), List(...)) 

Die Typen sind geschlossen für Ihre List[List[(String, Int)]] zu sein. Sie können sie manuell angeben, wenn Sie möchten, aber es ist nicht erforderlich.

Verwandte Themen