Muszę przechowywać zestawy elementów typu a. Typ a jest częściowo uporządkowany, więc porównanie i może zwrócić mniejsze, większe, równe lub nieporównywalne.a 2
Jednym z problemów z tablicami skrótów jest to, że dwa równe elementy mogą być reprezentowane w różny sposób i nie mam dostępu do funkcji haszującej zgodnej z równością.
Porównywanie dwóch elementów może być długim procesem, dlatego interesujące byłoby zminimalizowanie porównań. W razie potrzeby można zapamiętać połączenia z operatorem porównania. Teraz zdaję sobie sprawę, że będę musiał przechowywać tylko antichains (lub załóżmy, że tak). Dokładniej, operacje, które będę musiał wykonać, są następujące:
- Usuń element z antichain;
- Spróbuj dodać element. Jeśli element jest mniejszy niż element, nie dodawaj go, w przeciwnym razie dodaj go i usuń każdy element mniejszy niż element.
Mogę również powiązać każdy element dwiema liczbami całkowitymi, więc jeśli wiem, że i , to znajomość natychmiast daje mi . Oczywiście, nie oznacza a \ nie <b ... Znalezienie granic całkowitych jest względnie tanią operacją w porównaniu do porównania pełnego elementu.i 3 < b < i 4 i 2 < i 3 a < b i 2 ≮ i 3 a ≮ b