実現したいこと
Pythonでトポロジカルソートを実装したいと思い、あるページを参考にして取り組んでいます。
入力データのひとつになるであろう「into_num」が何を示すのかを知りたいです。
前提
22行目に出てくる「into_num」が何を示しているのか知りたいです。
該当のソースコード
Python
1from collections import deque 2def topological_sort(G, into_num): 3 #入ってくる有向辺を持たないノードを列挙 4 q = deque() 5 for i in range(len(G)): 6 if into_num[i]==0: 7 q.append(i) 8 #以下、幅優先探索 9 ans = [] 10 while q: 11 v = q.popleft() 12 ans.append(v) 13 for adj in G[v]: 14 print("adj=",adj) 15 into_num[adj] -= 1 #入次数を減らす 16 if into_num[adj]==0: 17 q.append(adj) #入次数が0になったら、キューに入れる 18 19 return ans 20 21G = [[1], [2], [], [1, 4], [5], [2]] #隣接する頂点を入れるとこ 22into_num = [0, 2, 2, 0, 1, 1] 23ans = topological_sort(G, into_num) #トポロジカルソート 24print(ans)
試したこと
- 枝の数のことを指しているのか、と思ったが違いました。
- ライブラリ固定の変数かと思いましたが、違いました。
- 値を変えても結果が正しくなってしまうのを確認しました。
補足情報(FW/ツールのバージョンなど)
参考にさせていただいたページ様:https://output-zakki.com/topological_sort/#toc2
叱咤含めて、アドバイスいただければ幸いです。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。