SlideShare a Scribd company logo
1 of 6
*
Metoda reluării
A elaborat eleva clasei a-XI-a,,B’’
Butucel Laura
A verificat profesoara de informatică
Grosu Rada
Î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.
*
 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
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ă:
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.
SFÂRȘIT

More Related Content

What's hot (10)

Madaç
MadaçMadaç
Madaç
 
0metoda reluarii
0metoda reluarii0metoda reluarii
0metoda reluarii
 
Metoda reluarii
Metoda reluariiMetoda reluarii
Metoda reluarii
 
Metoda backtracking
Metoda backtrackingMetoda backtracking
Metoda backtracking
 
Metoda reluării(1)
Metoda reluării(1)Metoda reluării(1)
Metoda reluării(1)
 
Metoda reluării
Metoda reluăriiMetoda reluării
Metoda reluării
 
RH
RHRH
RH
 
Metoda reluării
Metoda reluăriiMetoda reluării
Metoda reluării
 
125907307 ecuatii-trigonometrice
125907307 ecuatii-trigonometrice125907307 ecuatii-trigonometrice
125907307 ecuatii-trigonometrice
 
00007 backtracking
00007 backtracking00007 backtracking
00007 backtracking
 

Metoda reluarii

  • 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.