如何在 Petgraph 中获得确定性拓扑排序?
How can I get a deterministic topological sort in Petgraph?
我正在使用 Petgraph 的 toposort
函数来获取图形节点的排序列表。然而,toposort
并不保证同一级别的所有节点都将以一致的确定性顺序 returned。 Petgraph 中是否还有其他选项可以 return 节点确定顺序,或者我是否需要编写自己的函数? (如果有,有什么指点吗?)
因此 toposort
(和其他算法)对图节点和边的创建顺序很敏感。我一直在为图表提供来自 HashMap
的数据,这些数据无法以确定的顺序迭代。通过将我的数据切换到 BTreeMap
,节点和边缘以可靠的顺序创建,然后像 toposort
这样的算法给出确定性的结果。
我正在使用 Petgraph 的 toposort
函数来获取图形节点的排序列表。然而,toposort
并不保证同一级别的所有节点都将以一致的确定性顺序 returned。 Petgraph 中是否还有其他选项可以 return 节点确定顺序,或者我是否需要编写自己的函数? (如果有,有什么指点吗?)
因此 toposort
(和其他算法)对图节点和边的创建顺序很敏感。我一直在为图表提供来自 HashMap
的数据,这些数据无法以确定的顺序迭代。通过将我的数据切换到 BTreeMap
,节点和边缘以可靠的顺序创建,然后像 toposort
这样的算法给出确定性的结果。