Mam wszechświat elementów zorganizowanych w n nierozłącznych zestawów. Mam m wyrażeń zbudowanych przy użyciu tych zestawów, używając operatorów union/intersection/difference. Tak więc biorąc pod uwagę element, muszę ocenić te wyrażenia m, aby dowiedzieć się, który z "wyprowadzonych" zestawów zawiera ten element. Nie chcę obliczać zestawu "pochodnego", ponieważ będzie to czas i przestrzeń nieefektywna. Czy istnieje sposób, aby powiedzieć, czy element będzie leżeć w jednym z zestawów pochodnych tylko patrząc na jego wyrażenie? Dla np. jeśli wyrażenie to C = A U B, a element leży w zbiorze A, to mogę powiedzieć, że znajdzie się on w zbiorze C. Czy są jakieś biblioteki C do wykonywania obliczeń tego rodzaju?Ocena wyrażeń zestawu
5
A
Odpowiedz
4
jeśli im nie myli, Niech E = element
zastąpić każdy zestaw A, B z prawdą, jeśli e jest w zestawie, jeśli nie jest fałszywy. Następnie przekonwertuj operatory zestawu na ich logiczne odpowiedniki i oceń wyrażenie jako boolean. Powinien dobrze mapować do operatorów boolowskich, nawet xor i innych.
na przykład, jeśli nie e jest zarówno AB, ale D
C = (A U B) xor D
byłoby w C bo
C = (true or true) xor false
-> (true) xor false
-> true
To może być dość szybko, jeśli można szybko znaleźć jeśli element jest w zestawie
Powiązane problemy
- 1. Ocena wyrażeń boolowskich w Pythonie
- 2. Ocena wyrażeń od lewej do prawej
- 3. Bezpieczna ocena wyrażeń arytmetycznych w JavaScript
- 4. To „czy” ocena w Javie z trzech jednoczesnych wyrażeń
- 5. Techniki wyodrębniania wyrażeń regularnych z zestawu danych z etykietami
- 6. Odsyłacz do zestawu ścieżek plików za pomocą wyrażeń regularnych
- 7. Ocena programistów
- 8. Ocena MapboxGLManager.mapStyles
- 9. Debugowanie oceny wyrażeń
- 10. Bezpieczne ocena zwarcie w C++ 11
- 11. Łączenie wyrażeń w drzewie wyrażeń
- 12. Agregacja Ocena i ocena wartości, gdy jeszcze nie oceniono
- 13. Odroczona ocena z lambda w Pythonie
- 14. LINQ i ocena odroczony
- 15. Expression zamówienie ocena
- 16. Ocena Irracjonująca z Julią
- 17. Ocena metaprogramowania szablonu
- 18. LaTeX Natychmiastowa ocena
- 19. Ocena Boolean SQL Server
- 20. C++ Ocena Boolean
- 21. Fsharp - ocena zakresu
- 22. Zatrzymaj ocena obrębie modułu
- 23. PHP Lazy logiczna ocena
- 24. Ocena potrójnej równości
- 25. ocena części Clojure dyr
- 26. Jak przejść przez proces oceny wyrażeń Pythona?
- 27. Ocena wątków JDI napotkała problem
- 28. Przesyłanie argumentów znaków i ocena
- 29. Ocena prawdy w oświadczeniu przełącznika
- 30. Ocena macierzy homografii 2D-3D
heh, teraz pamiętam te rzeczy. "A - B" jest prawdziwe wtedy i tylko wtedy, gdy A jest prawdziwe, a B jest fałszywe. – goat
To całkiem niezłe rozwiązanie, dzięki! Mam już mapę elementów i zestawów, do których należą, więc obliczenia powinny być szybkie. – Oceanic