================================================================= Algoritmos y Estructuras de Datos (VJ1215) - Universitat Jaume I Evaluacion continua - 2024/2025 18 de octubre de 2024 Ejercicio Borrador ================================================================= Solucion ======== void Conjunto::eliminarComunes(const Conjunto & c) { eliminarComunes(minimo, c.minimo); } void Conjunto::eliminarComunes(Nodo * n1, Nodo * n2) { if (n1 != nullptr && n2 != nullptr) { if (n1->dato < n2->dato) n1 = n1->siguiente; else if (n2->dato < n1->dato) n2 = n2->siguiente; else { Nodo * basura = n1; if (n1 == minimo) minimo = n1->siguiente; else n1->anterior->siguiente = n1->siguiente; if (n1 == maximo) maximo = n1->anterior; else n1->siguiente->anterior = n1->anterior; n1 = n1->siguiente; n2 = n2->siguiente; delete basura; } eliminarComunes(n1, n2); } } Coste temporal en el peor caso: O(a + b) Coste espacial en el peor caso sin contar las dos listas enlazadas: O(a + b)