E ͷ G = (V; E) ΛແάϥϑͱݺͿɻ ఆٛ (༗άϥϑ) ༗ݶू߹ V ͓Αͼ V ˆ V ͷॱংର͔ΒͳΔू߹ͷ෦ू߹ E ͷ G = (V; E) Λ༗άϥϑͱݺͿɻ › V Λू߹ɺE Λลू߹ͱݺͿɻ › V ͷཁૉΛ G ͷɺE ͷཁૉΛ G ͷลͱݺͿɻ 8 / 34
R Λೋ߲ؔͱݺͿɻ ·ͨɺ(a; b) 2 R Λ aRb ͱද͢ɻ ఆٛ (ॱংؔ) ҎԼͷੑ࣭Λຬͨؔ͢ R ΛॱংؔͱݺͿɻ ࣹ 8a 2 A ʹରͯ͠ɺaRa Ͱ͋Δ ରশ a; b 2 A ʹରͯ͠ɺaRb ͔ͭ bRa ͳΒ a = b Ͱ͋Δ ਪҠ a; b; c 2 A ʹରͯ͠ɺaRb ͔ͭ bRc ͳΒ aRc Ͱ͋Δ ॱংؔɺେখؔൺֱͷ֓೦Λநͨ͠ͷɻ 13 / 34
"D": {"B", "C"}, "C": {"A"}, "B": {"A"}, } order = TopologicalSorter(graph).static_order() print(f"Topological order: {" ˠ ".join(order)}") # A ˠ C ˠ B ˠ D D B, D C ͷΑ͏ͳΠϝʔδͰఆٛ͢Δɻ 27 / 34
while ts.is_active(): ... for fut in as_completed(futs): name = futs[fut] results[name] = fut.result() print(f"done {name}") ts.done(name) return results 33 / 34