如何在 Petgraph 中获得确定性拓扑排序?

问题描述

我正在使用 petgraphtoposort 函数获取图表节点的排序列表。但是,toposort 不保证同一级别的所有节点都将以一致的确定性顺序返回。 petgraph 中是否有其他选项可以确定性顺序返回节点,还是我需要编写自己的函数? (如果是这样,任何指针?)

解决方法

所以 toposort(和其他算法)对图节点和边的创建顺序很敏感。我一直在用来自 HashMap 的数据提供图表,这些数据不能以确定性的顺序进行迭代。通过将我的数据切换到 BTreeMap,节点和边以可靠的顺序创建,然后 toposort 等算法给出确定性结果。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...