Abstract :
We present more efficient distributed depth-firstsearch algorithms which construct a depth-first-search tree for a communication network. The algorithms require left| V right|(1 + r) messages and |V|(l + r) units of time in the worst case, where left| V right| is the number of sites in the network, and 0 leqslant r le 1 . The value of r depends on the network topology and possibly on the routing chosen. In the best case, when the underlying network has a ring topology, r = 0 and our basic algorithm requires V messages and time units, regardless of routing. We extend this algorithm to achieve the same best case bound for other topologies. The worst case bound, which has r = 1??2/left| V right|, applies if the network topology is a tree. The improvement over the best of previous algorithms is achieved by dynamic backtracking, with a minor increase in message length.