A
UBB · Informatică
222

Se consideră algoritmul P(n, m, i, j, s), unde n și m sunt dimensiunile unei matrici, iar i și j sunt indicii poziției curente în matrice. De asemenea, se consideră existența algoritmilor append(a, x) care adaugă la finalul șirului a elementul x, și remove(a) care șterge ultimul element din șirul a.

Algoritm 1

Algorithm P(n, m, i, j, s)
  If i = n and j = m then
    print(s)
    Return
  EndIf
  If j < m then
    append(s, "dreapta")
    P(n, m, i, j + 1, s)
    remove(s)
  EndIf
  If i < n then
    append(s, "jos")
    P(n, m, i + 1, j, s)
    remove(s)
  EndIf
EndAlgorithm

Ce face algoritmul?

5 / 22