4

我正在寻找一种用于存储 poset 的数据结构,它支持以下具有良好大复杂性的操作(这些操作经常进行):

  • 确定给定元素是否可以始终排在另一个元素之前(最高优先级高于其他元素)
  • 添加新的排序约束
  • 返回可以在给定元素之前排序的所有元素

数据结构还必须支持从 poset 生成一个完全有序的集合,但这只需要在算法运行后对输出执行一次。

到目前为止,我一直依赖于一个幼稚的 poset 实现,但我已经达到了不再可持续的地步。

我看过https://cstheory.stackexchange.com/questions/8503/what-persistent-data-structure-for-a-set-of-partially-ordered-elements,答案中有一些有趣的论文,但大多数这些数据结构(如ChainMerge)似乎都在考虑排序的情况下进行了优化,对我来说这是最不重要的一步。

4

0 回答 0