De ce contează?
Două cluburi din școală — Robotică și Astronomie — își fac listele de membri. Vrei să răspunzi rapid la trei întrebări: cine e în cel puțin un club (reuniunea), cine e în ambele (intersecția) și cine e doar la Robotică, fără Astronomie (diferența). În loc să compari listele membru cu membru, faci un singur catalog cu toți elevii și pui două bife pe fiecare rând: „e la Robotică?" și „e la Astronomie?". Toate cele trei răspunsuri se citesc apoi dintr-o privire, rând cu rând.
Intuiția
O mulțime e o colecție în care fiecare element apare o singură dată și ordinea nu contează. Întrebarea-cheie pentru orice element este simplă: „aparține sau nu?". Dacă pentru fiecare valoare posibilă știi instant dacă e în mulțimea A și dacă e în mulțimea B, atunci reuniunea, intersecția și diferența nu mai sunt operații complicate — sunt doar reguli logice aplicate bifelor.
Codifică apartenența ca un vector caracteristic: car_A[x] e 1 dacă x e
în A, altfel 0. La fel car_B. Acum cele trei operații sunt o decizie bit cu
bit, pentru fiecare valoare x din domeniu:
- reuniune: păstrezi
xdacăcar_A[x]SAUcar_B[x]; - intersecție: păstrezi
xdacăcar_A[x]ȘIcar_B[x]; - diferență A\B: păstrezi
xdacăcar_A[x]ȘI NUcar_B[x].
Aceeași parcurgere a domeniului, doar regula logică din if se schimbă.