1. *
Metoda reluării
A elaborat eleva clasei a-XI-a,,B’’
Butucel Laura
A verificat profesoara de informatică
Grosu Rada
2. În metoda reluării se presupune că soluţia problemei
pe care trebuie să o rezol-
văm poate fi reprezentată printr-un vector:
X=(x1, x2 , ..., xk , ... , xn).
Fiecare componentă xk a
vectorului X poate lua
valori dintr-o anumită
mulţime
Ak, k = 1, 2, ..., n. Se consideră
că cele mk elemente ale fi
ecărei mulţimi Ak sînt
ordonate
conform unui criteriu bine
stabilit, de exemplu, în
ordinea apariţiei lor în
memoria
calculatorului.
În principiu, astfel de
probleme pot fi
soluţionate prin trierii,
tratînd vec-
torul X ca unmetoda
element al produsului
cartezian S = A1 A2 ...
An. Dezavantajul me-
todei trierii constă în faptul
că timpul cerut de algoritmul
respectiv este foarte mare.
De exemplu, pentru mulţimile
A1, A2, ..., An formate numai
din cîte două elemente,
timpul necesar este O(2n),
deci exponenţial.
3. *
Pentru exemplificare, în figura 1.1 este
prezentată ordinea în care sînt examinate
elementele mulţimilor A1 = {a11, a12}, A2 = {a21,
a22} şi A3 = {a31, a32, a33}. În scopuri didactice
se consideră că mulţimile A1 şi A2 au cîte două
elemente (m1 = 2, m2 = 2), iar mulţimea A3 trei
elemente (m3 = 3). Elementele akj ale mulţimilor
respective sînt simbolizate prin cerculeţe.
Rezultatele verifi cării condiţiilor de continuare
sînt repre-zentate prin valorile binare 0 (false)
şi 1 (true).
Figura.1.1
4. procedure Reluare(k:integer);
begin
if k<=n then
begin
X[k]:=PrimulElement(k);
if Continuare(k) then
Reluare(k+1);
while ExistaSuccesor(k) do
begin
X[k]:=Succesor(k);
if Continuare(k)
thenReluare(k+1)
end; { while }
end { then }
else PrelucrareaSolutiei;
end; {Reluare}
Schema generală a unui algoritm
recursiv bazat pe metoda reluării este
redată cu
ajutorul procedurii ce urmează:
5. Cu regret, în prezent nu există o regulă
universală care ar permite formularea
unor condiţii „bune” de continuare
pentru orice problemă întîlnită în
practică.
Identifi carea acestor condiţii şi, în
consecinţă, reducerea timpului de
calcul depinde
de iscusinţa programatorului.
Menţionăm că în majoritatea
problemelor mulţimile
A1, A2, ..., An nu sînt cunoscute apriori,
iar componentele vectorului X pot
aparţine şi
ele unor tipuri structurate de date
tablouri, mulţimi sau articole.