busca = 1;
T = {{0, 0, 0, 0, 0, 0, 0}, {1, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 1}, {0, 0, 0, 0, 0, 0, 0}};
Dato[T_, i_, j_]:= Position[T[[i, All]],1][[j]];
Siguiente[T_, n_, val_]:=If[ Dato[T, n, 1][[1]]>= val, Dato[T, n, 1], Dato[T, n, 2]][[1]];
n=4;

TreePlot[T, Automatic, 4, VertexRenderingFunction->({EdgeForm[Black], If[#2===n , Red,White], Disk[#1, 0.1], Black, Text[#2, #1]}&)] 
n = Siguiente[T,n, busca];
TreePlot[T, Automatic, 4, VertexRenderingFunction->({EdgeForm[Black], If[#2===n , Red,White], Disk[#1, 0.1], Black, Text[#2, #1]}&)] 
n = Siguiente[T,n, busca];
TreePlot[T, Automatic, 4, VertexRenderingFunction->({EdgeForm[Black], If[#2===n , Red,White], Disk[#1, 0.1], Black, Text[#2, #1]}&)]