August 28, 2024

P83 - Construct all spanning trees.

Write a method spanningTrees to construct all spanning trees of a given graph.  With this method, find out how many spanning trees there are for the graph depicted to the right.  The data of this example graph can be found below. 

Graph

When you have a correct solution for the spanningTrees method, use it to define two other useful

methods: isTree and isConnected.  Both are five-minute tasks!

Graph:

scala

Graph.term(List('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'),
           List(('a', 'b'), ('a', 'd'), ('b', 'c'), ('b', 'e'),
                ('c', 'e'), ('d', 'e'), ('d', 'f'), ('d', 'g'),
                ('e', 'h'), ('f', 'g'), ('g', 'h')))


scala> Graph.fromString("[a-b, b-c, a-c]").spanningTrees
res0: List[Graph[String,Unit]] = List([a-b, b-c], [a-c, b-c], [a-b, a-c])
Be first to comment
Leave a reply