【题目描述】
数据格式如下,这是一个多叉树,每一个key代表出发节点,对应的value代表与该节点连接的下一层所有节点,写一个算法,实现功能:找出每一个节点的所有下游节点。
dic = {
1: [2],
2: [3, 5, 6],
3: [4],
6: [7, 8]
}
代码:
def function(dic, T, keys_set, ip, new_list_):
low_list = dic[ip]
inter_set = keys_set.intersection(low_list)
if not inter_set:
T = False
return T, new_list_
else:
for inter in inter_set:
ips = dic[inter]
new_list_.extend(ips)
T, new_list_ = function(dic, T, keys_set, inter, new_list_)
if not T:
return T, new_list_
if __name__ == "__main__":
dic = {
1: [2],
2: [3, 5, 6],
3: [4],
6: [7, 8]
}
T = True
keys_set = set(dic.keys())
T, new_list_ = function(dic, T, keys_set, 1, [2])
print(new_list_)
思路:
看代码,自己悟(^o^)