Home Algoritmos y Estructuras de Datos (VJ1215)

Curso 2023/2024

Solución del ejercicio 3 del tema 3

void Conjunto::incrementarTodos() {
   incrementarTodos(raiz);
}

void Conjunto::incrementarTodos(Nodo * n) {
   if (n == nullptr)
      return;
   n->dato++;
   incrementarTodos(n->izquierdo);
   incrementarTodos(n->derecho);
}
      

Observa que no hay ninguna necesidad de pasar n por referencia para modificar n->dato, no estamos modificando n.

El coste temporal de este algoritmo es O(n), siendo n la talla del conjunto, debido a que se hacen O(n) llamadas recursivas y el coste propio de cada llamada es O(1).