Question: Spanning Trees of directed graphs

Hi, I was told there are 3 errors about this code, could anyone please help ?

Thank you very much 


DiSpanningTree := proc(G,v)
local comp,edges,recurse,visited;
recurse := proc(w)
local d,z;
if assigned(visited[]) then return false; end if;
comp(numelems(comp)+1) := w;
visited[w] := true;
d := Departures(G,v);
for z in d do
if recurse(z) then edges(numelems(edges)+1) := [w,z]; end if;
end do;
return true;
end proc;
visited := table();
comp := Array([]);
edges := Array([]);
recurse(v);
return Graph(convert(comp,'list'),edges);
end proc:

Please Wait...