繁体   English   中英

查找大于部分有序集合中给定的元素

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM