[ad_1]
From your description, I think you are probably looking for topological sorting.
It is based on the assumption that ‘impossible situation’ occurs when one connections suggests that A comes before B but there is some another connection which suggests that B comes before A.
Link for topological sort:
Topological Sorting
[ad_2]
solved Looking for a sorting algorithm