File tree 1 file changed +0
-41
lines changed
1 file changed +0
-41
lines changed Original file line number Diff line number Diff line change @@ -379,44 +379,3 @@ def clear(self):
379
379
380
380
def __repr__ (self ):
381
381
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