* Compute largest depth of each node and traverse graph by depth. This allows us to check a node once, and only once, to determine if it needs to be marked for do not run.