File tree Expand file tree Collapse file tree 1 file changed +0
-41
lines changed Expand file tree Collapse file tree 1 file changed +0
-41
lines changed Original file line number Diff line number Diff line change @@ -379,44 +379,3 @@ def clear(self):
379379
380380 def __repr__ (self ):
381381 return f"AssocList({ self ._dict } , { self ._list } )"
382-
383-
384- def toposort (prereqs_d ):
385- """
386- Sorts prereqs_d.keys() topologically.
387-
388- prereqs_d[x] contains all the elements that must come before x
389- in the ordering.
390-
391- """
392-
393- # all1 = set(prereqs_d.keys())
394- # all2 = set()
395- # for x, y in prereqs_d.items():
396- # all2.update(y)
397- # print all1.difference(all2)
398-
399- seq = []
400- done = set ()
401- postreqs_d = {}
402- for x , prereqs in prereqs_d .items ():
403- for prereq in prereqs :
404- postreqs_d .setdefault (prereq , set ()).add (x )
405- next = {k for k in prereqs_d if not prereqs_d [k ]}
406- while next :
407- bases = next
408- next = set ()
409- for x in bases :
410- done .add (x )
411- seq .append (x )
412- for x in bases :
413- for postreq in postreqs_d .get (x , []):
414- if not prereqs_d [postreq ].difference (done ):
415- next .add (postreq )
416- if len (prereqs_d ) != len (seq ):
417- raise Exception (
418- "Cannot sort topologically: there might be cycles, "
419- "prereqs_d does not have a key for each element or "
420- "some orderings contain invalid elements."
421- )
422- return seq
You can’t perform that action at this time.
0 commit comments