As it turns out, a topological sort is good enough for my purposes. The actual scenario is thus: I have a series of batch jobs that are related by dependencies. I noticed that some jobs submitted before the jobs on which they depend submit. So, for each job, I want to find the earliest possible submittal time such that at submittal time, the given job has a chance to run. As you said, a topological sort returns parents before children, this'll suffice for the given task. Thanks for your help!
Incidentally, I was originally going to go with a breadth-first search. I ran in to the same sort of problem that I did with depth-first: the nodes weren't returning in the order that I expected. It was in the trial and error that I tried to do anything with depth-first at all.
thor
Feel the white light, the light within
Be your own disciple, fan the sparks of will
For all of us waiting, your kingdom will come
| [reply] |