5
girdisinde belirtilen sayıya göre girdiyi aşağıdaki şekilde sıralamaya çalışıyorum, sonra sözlükte key=5
için arama yaptıktan sonra, ilk değeri ve sözlüğünde key=4
için arama yapmaya çalışıyorum. ve değerler bir veya iki tamsayıSözlük nasıl düzenleyebilirim?
olacak ikinci olarak değerini koyup 3
5
ikinci değer olan ve sözlükte key=3
aramak ve üçüncü
olarak değerini koymak İkili bir ağaç çizmek, böylece kök düğümün (ebeveyn) 5 o olması daha kolay olacaktır. re olmak vs Ben OrderedDict
kullanarak düzenlemek için çalıştı ama ben
Birisi bana lütfen yardımcı olabilir uzakta onunla bulamadı
sonraki alt öğeleri, çocuk daha sonra ilk ve?
Girdi:
{8: [9], 3: [6, 8], 4: [2, 1], 5: [4, 3], 6: [0, 7]}
Çıktı:
{5: [4, 3], 4: [2, 1], 3: [6, 8], 6: [0, 7], 8: [9]}
Güncelleme Kod:
def dfs(cur, prev, edges, res):
for next in edges[cur]:
if next == prev: continue
res.setdefault(cur, []).append(next)
dfs(next, cur, edges, res)
def construct_tree(edges, root):
d = {}
x = []
for edge in edges:
u, v = edge
d.setdefault(u, []).append(v)
d.setdefault(v, []).append(u)
res = {}
dfs(root, -1, d, res)
return res
if __name__ == '__main__':
root_node = 5
edges = [[2, 4], [4, 1], [0, 6], [7, 6], [8, 9], [4, 5], [6, 3], [3, 5], [3, 8]]
print((construct_tree(edges, root_node)))
Giriş nerede, yani anahtarların sırası nereden geliyor? 'Input' veya 'raw_input' kelimelerinden tam anlamıyla mı? – timgeb
Bunu sözlükte kök düğüme (anahtar) göre, önce kök düğümü = 5 önce ve sonra kök düğümün değerlerine göre düzenlemek ve onu sözlük tuşlarında arayarak sonraki – Joe
ve daha sonra son ve eğer sözlük numarası yok ise sözlük anahtarında devam ederse – Joe