依赖树木本身是负荷的三边,你们都需要从钥匙(例如姓名)到物体进行一些测绘。
你没有具体说明任何语言,因此我选择了什么。 预期的投入是“[名称]:[空间分离的附属物]”形式的线文档。
def load_depends(file):
depends = {}
for line in file:
line = line.strip()
if not line or line.startswith("#"): # allow blanks and comments
continue
name, _, deps = line.partition(":")
deps = deps.strip()
assert deps, "invalid input" # most basic input error-checking
depends[name] = set(deps.split())
return depends
该法典假定任何未列出的项目都无依赖性,如果希望的话,你可以tra树添加空子。 至少,你应检查休养的依赖性。
例:
>>> input = """
... a: b c
... b: c
... c: d
... e: a
... """.split("
")
>>> from pprint import pprint
>>> pprint(load_depends(input))
{ a : set([ b , c ]),
b : set([ c ]),
c : set([ d ]),
e : set([ a ])}
[说明:我作简短发言,因为我确实不要求有线索,而需要的是线索(档案符合),因此我通过一份线标清单。]
你们可以在这一基本结构之上建立各种职能,并把它和这些概念(如:建议或建议,甚至冲突取代等等)纳入你系统特有的各种目标。