This is an old revision of the document!


Recurențe

1. Identificați formula de recurență pentru numărul de pași elementari ai următoarelor programe și calculați complexitatea algoritmilor folosind metoda arborilor și metoda substituției.

int binary_search(int *arr, int start, int end, int x) {
    if (start > end)
        return -1;
 
    int m = (start + end) / 2;
    if (arr[m] == x) 
        return m;
 
    if (x < arr[m]) {
        return binary_search(arr, start, m, x);
    } else {
        return binary_search(arr, m, end, x);
    }
}

2. Teorema Master:

Fie o formulă de recurență de forma $$ T(n) = a\ T\left(\frac n b\right) + f(n), \hspace{1em} a \geq 1, b \ge 1 $$