Files
PetroProtsyk-SSharp/Tests/Algorithms.Graphs.sht
2019-06-15 11:37:21 +02:00

51 lines
658 B
Plaintext

//1
// 2
// 3
// 4
// 5
u = [ 1, 2 , 3 , 4 , 5];
v = [ [1,2], [2,3], [1,4], [1,5] ];
g = [
vertexes -> u,
edges -> v
];
function IsTree(g)
{
vert = new ArrayList ();
foreach (edge in g.edges)
{
if (!vert.Contains(edge[1]))
vert.Add(edge[1]);
else
return false;
}
if ( vert.Count == g.vertexes.Length-1 )
{
foreach (root in g.vertexes)
if ( ! vert.Contains(root))
{
g.root = root;
break;
}
return true;
}
else
return false;
}
IsTree(g);
root = g.root;
s = '';
foreach (x in v)
s = s + x[0]+'->' + x[1] + ', ';
Test.AreEqual('1->2, 2->3, 1->4, 1->5, ', s);