Python Find Circular Reference By Topological Order