हमने उपकरण परियोजना के लिए एक छोटी ग्राफ लाइब्रेरी विकसित की है। आप इसे here पर देख सकते हैं। यह पूरी तरह कार्यात्मक नहीं है और जिपर ग्राफ नहीं है बल्कि हमारे लिए अच्छा काम करता है। आप भी परिवर्तनीय और अपरिवर्तनीय ग्राफ प्राप्त करते हैं।
implicit val factory = DefaultEdge[String](_, _)
val G = Graph(
"Entry" -> "A",
"A" -> "B",
"B" -> "C",
"B" -> "D",
"D" -> "F",
"F" -> "E",
"E" -> "F",
"E" -> "C",
"C" -> "A",
"C" -> "Exit")
G.dotExport to Console.out
SCCS और उप-घटक
G.sccs foreach println
G.sccs map { _.entry } foreach println
G.sccs filter { _.canSearch } map { _.subcomponents } foreach { _ foreach println }
Traversal
for(x <- G.topsort) println(x)
for(x <- G.dft(y)) println(x)
वर्तमान दोष यह है कि है पुस्तकालय केवल अपरिवर्तनीय समर्थन कर रहा है ढूँढना:
यहाँ ग्राफ निर्माण के लिए एक सरल उदाहरण है प्रकार और फीचर पूरे ग्राफ लाइब्रेरी के लिए पूर्ण नहीं है।
स्रोत
2010-03-15 09:02:01
हालांकि एक और जवाब में स्वीकार किया जाता, मैं दृढ़ता से scalax.collection.Graph सलाह देते हैं, http://www.assembla.com देखना/रिक्त स्थान/स्कैला-ग्राफ/विकी का उल्लेख दूसरे उत्तर में किया गया था, लेकिन यह अब काफी स्थिर है ... – Bastl
मैं इस सवाल को ऑफ-विषय के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि मुझे नहीं पता कि हमें क्यों पूछा जा रहा है प्राचीन इतिहास की समीक्षा करने के लिए। – Strawberry