about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/graph/mk_rooted_tree.m
blob: 396043ebff05ffb28dfdf317306a697b1622ca20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function [T, pre, post, cycle] = mk_rooted_tree(G, root)
% MK_ROOTED_TREE Make a directed tree pointing away from root
% [T, pre, post, cycle] = mk_rooted_tree(G, root)

n = length(G);
T = sparse(n,n); % not the same as T = sparse(n) !
directed = 0;
[d, pre, post, cycle, f, pred] = dfs(G, root, directed);
[junk, pre2] = sort(d);
assert(isequal(pre, pre2))
[junk, post2] = sort(f);
assert(isequal(post, post2));
%[d, pre, post, cycle, f, pred] = dfs(G, [], directed);
for i=1:length(pred)
  if pred(i)>0
    T(pred(i),i)=1;
  end
end