问题如下:
给定偏序集合S的子集,找到S的最大元素。
例如,考虑http://ndp.jct.ac.il/tutorials/Discrete/node34.html中偏序图的哈斯图。给定其子集{12, 2, 8},则最大元素为12和8。
我不知道是否准确描述了问题。我认为该问题可能涉及一些排序或传递闭包的计算,但我有点困惑。
你能给我一些快速算法的方法吗?我希望将其保持在O(n^2)。
谢谢。
稍作说明。我的应用程序使用RDF图。如果存在表示<关系的特定边缘,则两个节点是可比较的。如果存在这样的显式关系或隐含的传递关系,则两个节点可能是可比较的。
因此,假设哈斯图正是我的RDF图。如果我从2开始进行深度优先搜索,如何知道8和12不可比较?它们可能不是明确的,但它们可能是隐含的。
例如,考虑http://ndp.jct.ac.il/tutorials/Discrete/node34.html中偏序图的哈斯图。给定其子集{12, 2, 8},则最大元素为12和8。
我不知道是否准确描述了问题。我认为该问题可能涉及一些排序或传递闭包的计算,但我有点困惑。
你能给我一些快速算法的方法吗?我希望将其保持在O(n^2)。
谢谢。
稍作说明。我的应用程序使用RDF图。如果存在表示<关系的特定边缘,则两个节点是可比较的。如果存在这样的显式关系或隐含的传递关系,则两个节点可能是可比较的。
因此,假设哈斯图正是我的RDF图。如果我从2开始进行深度优先搜索,如何知道8和12不可比较?它们可能不是明确的,但它们可能是隐含的。