18得票1回答
偏序集中的积和余积

在阅读Bartosz Mileski的卓越文章《程序员的范畴论》时,我卡在了第二个练习上,该练习涉及偏序集中的积。给定一个偏序集, b e ↗ ⤭ ↘ a → c f → h ↘ ⤭ ↗ d g 如何以范畴论的方式定义一个产品?两个对象的积是什...

16得票5回答
高效算法:如何找到部分有序集合中的极大元素

我有一个偏序集,称为 A = [x1, x2, ...],这意味着对于集合中的每个xi和xj,恰好有以下四种情况之一成立:xi < xj、xi == xj、xi > xj、或者xi和xj是不可比较的。 我想找到最大元素(即那些没有元素xj满足xi < xj的元素xi)。有什...

14得票2回答
Java 部分有序的 Collection<E>

我正在寻找一个Java实现的数据结构,它可以容纳元素的集合并定义了部分排序,并允许按照某些拓扑顺序迭代这些元素(任何可能的顺序都可以;最好是稳定的顺序,因为集合的内容会发生变化)。 理想情况下,它应该实现Collection&lt;E&gt;、Set&lt;E&gt;或SortedSet&l...

12得票3回答
排序偏序集?

虽然有许多排序算法可供选择,但其中大多数仅适用于全序集,因为它们假定任意两个元素是可比较的。 然而,在部分排序集合中是否存在任何好的算法可用于排序,其中一些元素是不可比较的呢?也就是说,给定一个从部分排序集合S中提取出来的元素集合,输出排序x1,x2,...,xn的最佳方法是什么,使得如果 x...

10得票2回答
如何在Haskell中使用偏序对列表进行排序?

我有一个使用语句块的过程化EDSL,这些语句块可以按任意顺序添加到块中,尽管语句之间可能存在依赖关系。 然而,在EDSL编译期间,我需要确保这些语句按照依赖顺序排序,例如: B := A C := B E := D 由于并非所有语句都存在依赖关系,因此不存在总顺序(例如上面的 E:= ...

9得票1回答
枚举所有偏序关系

如何高效地枚举有限集合上的所有偏序关系? 我想要检查是否存在具有特定属性的偏序关系。为了检查这一点,我采用暴力方法枚举小有限集上的所有可能的偏序关系。

8得票4回答
合并一些已排序但未知顺序的列表

我有一些包含可变数量元素的列表。每个列表都已排序,但排序算法是未知的。我想将这些列表合并成一个大列表,该列表按相同顺序包含所有列表,且不包含重复项。 示例输入: 1. XS,M,L,XL 2. S,M,XXL 3. XXS,XS,S,L 期望的结果: - XXS,XS,S,M,L,XL...