簡體   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