Ejercicios complejidad de recursión
Ejercicio 1. Determina la función cerrada y la notación O mayúscula para la siguiente relación de recurrencia:
T(1) = a
T(n) = b + T(n-1) + n
Ejercicio 2. Determina la función cerrada y la notación O mayúscula para la siguiente relación de recurrencia:
T(1) = a
T(n) = b + T(n/2) + clog_2(n)
Ejercicio 3. Analiza la siguiente función y determina su T(n) recursiva. Luego determina su complejidad en notación O mayúscula.
int vaca(vector <int> A) {
vaca(A, 0, A.size()-1);
}
int vaca(vector <int> A, int i, int j) {
if (i==j) return A[i];
vector<int> B = A;
B.erase(0,1);
vaca(B, 0, B.size()-1);
}
Ejercicio 4. Analiza la siguiente función y determina su T(n) recursiva. Luego determina su complejidad en notación O mayúscula.
int aFunction(int n) {
return n*n - 10*n + 25;
}
bool findZero(int i, int j) {
if (i==j) return false;
int mid = (i+j) / 2;
int res = aFunction(mid);
if (res == 0) return true;
if (res > 0) findZero(i, mid-1);
else findZero(mid+1, j);
}