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

3
我正在使用Petgraph的toposort函数来获取图形节点的排序列表。toposort无法保证在同一级别上返回的所有节点都以一致确定的顺序返回。在Petgraph中是否有其他选项可以按确定性顺序返回节点,还是我需要编写自己的函数?(如果需要,有什么提示吗?)
1个回答

5
所以,toposort(及其他算法)对于图形节点和边缘的创建顺序非常敏感。我一直在使用 HashMap 存储图形数据,但无法以确定性顺序迭代它。通过将我的数据切换到 BTreeMap 中,可以按可靠的顺序创建节点和边缘,然后像 toposort 这样的算法会给出确定性结果。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接