INPUT:-
mainlist:[12345,23456,09768]
Need to construct the following dependency graph
12345 has 01242(internal dep),34567(externaldep)
01242 has 23456(internaldep),56789,32345(externaldep)
34567 has 11111(internal dep),no external dependencies
23456 has 33456(internaldep),no external dependencies
56789 no dependencies
32345 no dependencies
11111 no dependencies
33456 no dependencies
09768 has 12222(internal dep),34333(External dep)
12222 no dependencies
34333 no dependencies
OUTPUT:-
[12345,01242,34567,23456,56789,32345,11111,33456,09768,12222,34333]
上記のように、依存関係として相互に完全にリンクされているデータベース オブジェクトがいくつかあります...私がやりたいのは、その情報を取得し、これらすべてをグラフとして表すアルゴリズムを作成することです。今、私は疑似コードを書いています。その後、Pythonの実装を書くことができるはずです。これは再帰アルゴリズムのようで、ここで立ち往生しています!
メインリストのすべての項目について、依存関係がなくなるまで再帰的に内部依存関係と外部依存関係を見つけ出し、すべての変更を含むリストを作成しようとしています。
build_dep_list=[]
local_list=[]
for each item in mainlist:
local_list.append(item)
build_dep_list.append(item)
for each localitem in local_list:
head = localitem
internal_dep_list =getinternaldep(change)
external_dep_list= getexternaldep(change)
append.internal_dep_list.local_list
append.external_dep_list.local_list
append.internal_dep_list.build_dep_list
append.external_dep_list.build_dep_list
delete(head).local_list
def getinternaldep:
//code1
def getexternaldep:
//code2