2. Metoda trierii presupune că soluția
unei probleme poate fi găsită
analizînd consecutiv elementele si
ale unei mulțimi finite
S={s1,s2, …, si, …, sk}, denumită
mulțimea soluțiilor posibile.
3. În cele mai simple cazuri elementele
si, sk, aparține mulțimii S, pot fi reprezintate
prin valori aparținînd unor tipuri ordinale de
date: integer, boolean, char, enumerare sau
subdomeniu. În problemele mai complicate sîntem
nevoiți sî reprezentăm aceste elemente prin
tablouri, articole sau mulțimi. Menționăm că în
majoritatea problemelor soluțiile posibile
s1, s2, ..., sk nu sunt indicate explicit în
enunțul problemei și elaborarea algoritmilor
pentru calcularea lor cade în sarcina
programatorului.
4. Schema generală a unui algoritm bazat
pe metoda trierii poati fi redată cu
ajutorul unui ciclu:
for i:= 1 to k do
if SolutiePosibila(si) then PrelucrareaSolutiei(si)
5. SolutiePosibila este o funcție
booleană care returnează valoarea true
dacă elementul si satisface condițiile
problemei și false în caz contrar, iar
PrelucrareaSolutiei este o procedură care
efectuează prelucrarea elementului
selectat. De obicei, în această procedură
soluția si este afișată la ecran.
6. Algoritmii bazați pe metoda trierii se
calculează, implicit sau
explicit, mulțimea soluțiilor posibile S.
În prolemele relativ simple elementele
din mulțimea soluțiilor posibile pot fi
enumerate direct. În problemele mai
complicate generarea soluțiilor posibile
necesită elaborarea unor algoritmi
speciali. În general, acești algoritmi
realizează operațiile legate de
prelucrarea unor multimi:
7. reuniunea;
intersecția;
diferența;
generarea tuturor submulțimilor;
generarea elementelor unui produs cartezian;
generarea permutărilor, aranjamentelor sau
combinărilor de obiecte, etc.