我去努力創造自己的一類,其中我有一個equals方法,它定義了該分區組沒有大小== 1套裝,包含返回匹配,而不是布爾
的等價關係這個類需要一個絕對路徑和一個根(也是一個路徑),如果它們的路徑相對於它們的根是相同的,那麼這些「相對路徑」是等價的。我有兩套這些內容,並且我確保每個單獨集合中的所有元素具有相同的根。所以,按照我的邏輯應該在==在第一組的任何元素的第二組是一個或零元素(S()。
但現在我意識到,我沒有很好的O(1 )查找我想要的,因爲Set.contains()方法只返回一個布爾值,而不是它找到的元素!!有沒有方法或集合我不知道這會給我O(1)行爲,我正在尋找對於(即一個O(1)查找等於,返回相等的元素)
我想我定義了一個比大多數編程語言所期望的更平等的數學定義。最後,我最終創建了一個從第一組域到第二組域的翻譯功能,然後使用包含它也給了我想要的行爲!謝謝。 – Imran
下面是等式的一個數學定義:*給定任意x和y,x = y如果給定任何謂詞P,P(x)當且僅當P(y)。*。如果您排除某個類的某些字段的平等性,那麼找到並非如此的P是非常容易的。 –
我的意思是說,當然,這種關係與分區獨特的等價關係有關。之前我從來沒有在編程文獻中真正看到這種平等的定義。通常情況下,等於合同的條件恰好是等價關係所要求的條件。有趣的是,鑑於這種情況,如果沒有更強的條件,你也不可能期望所有的收藏品都能以最佳方式表現出來。 – Imran