An algorithm to construct a minimum directed spanning tree in a directed network