我有具有依賴關係和存在狀態的作業列表。我想要完成每項工作,並將依賴關係映射爲一棵樹。當父項依賴關係都處於完成狀態時,樹的末尾將爲。那麼就沒有必要走了。我不確定是否應該使用遞歸,或者如果這是唯一的可能性。有本地映射工具或數據結構可以幫助我嗎?我將會重複可能接近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