我有具有依赖关系和存在状态的作业列表。我想要完成每项工作,并将依赖关系映射为一棵树。当父项依赖关系都处于完成状态时,树的末尾将为。那么就没有必要走了。我不确定是否应该使用递归,或者如果这是唯一的可能性。有本地映射工具或数据结构可以帮助我吗?我将会重复可能接近10K的工作。Python - 在树结构中映射作业依赖关系
的伪代码
def map_depends(job_depends):
for job in job_depends:
if job.status = done:
job_tree_map.append(job.name)
else:
map_depends(job.get('dependencies'))
def main():
for job in batch:
if job.get('dependencies'):
map_depends(job.get('dependencies'))
什么我谈论的视觉描述。
-> job_depends1.status = done
main_job -> job_depends3 = running -> job_depends6 = done
-> job_depends2 = running......job_depends2 -> jon_depends4 = done
-> job_depends5 = done
你的代码看起来有点不一致:'job'和'jobs','job.get(depends)'和'job.get('dependencies')'。 – firegurafiku 2014-10-05 01:27:22
谢谢。进行更正。 – user3590149 2014-10-05 01:51:19