[英]Find in a dynamic pythonic way the minimum elements in a partially ordered set
[英]Find element greater than given in partially ordered set
我有一组S
类型的元素的T
。 类型T
元素上存在偏序<=
。 众所周知, S
中的所有元素都不是有序的。 然后,我需要一种方法来执行以下查询: 具有类型T
元素e
,在S
找到e'
,使得e <= e'
。
是否有一个数据结构可以有效地执行此类查询(无需对S
进行线性扫描)?
重要说明: T
是完整晶格。
您可以对列表进行预处理,找到没有其他元素大于这些数字的元素子集(假设您将所有数字表示为dag,则应该找到所有没有父元素的元素)。 一旦有了该子集,您需要做的就是对该子集进行线性扫描。 我认为您不能做得更好。
另外,您还可以按元素数量对子集进行排序,子集中的每个元素都大于(按降序排列)。 并按顺序扫描元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.