Guia de practica - Listas enlazadas
Nombre: ___________________________
Fecha: ____________________________
Puntaje: __________________________
1.
¿Qué es una lista enlazada?
Una estructura de datos donde cada elemento contiene un dato y un enlace al siguiente elemento.
Una estructura de datos lineal donde los elementos se almacenan en posiciones contiguas de memoria.
Una estructura de datos que solo permite acceso secuencial.
Una estructura de datos basada en tablas hash.
2.
¿Cuál es una ventaja principal de las listas enlazadas frente a los arreglos?
Acceso aleatorio en O(1).
Inserción y eliminación eficientes sin necesidad de desplazar elementos.
Menor uso de memoria.
Mejor rendimiento en operaciones de búsqueda.
3.
En una lista doblemente enlazada, cada nodo contiene un puntero al siguiente nodo y un puntero al __.
Respuesta: ____________________________________________
4.
¿Cuál es la complejidad temporal de insertar un nodo al inicio de una lista simplemente enlazada?
O(n)
O(log n)
O(1)
O(n^2)
5.
En una lista simplemente enlazada, el puntero 'next' del último nodo apunta a __.
Respuesta: ____________________________________________
6.
Para eliminar un nodo en una lista simplemente enlazada, ¿qué información es necesaria?
El nodo a eliminar y el último nodo.
Solo el nodo a eliminar.
El nodo cabeza y el nodo a eliminar.
El nodo anterior al que se desea eliminar.
7.
¿Qué caracteriza a una lista circular?
El último nodo apunta al primero.
Cada nodo tiene dos punteros.
La lista no tiene cabeza.
8.
El puntero que apunta al primer nodo de una lista enlazada se denomina __.
Respuesta: ____________________________________________
9.
¿Cuál es la complejidad temporal de recorrer una lista simplemente enlazada de n nodos?
O(1)
O(n)
O(n log n)
O(n^2)
10.
En una lista simplemente enlazada desordenada, la búsqueda de un elemento tiene complejidad:
O(1)
O(log n)
O(n)
O(n^2)
11.
El algoritmo de Floyd (tortuga y liebre) se utiliza para detectar ____ en una lista enlazada.
Respuesta: ____________________________________________
12.
Si se tiene solo un puntero al cabeza, insertar un nodo al final de una lista simplemente enlazada requiere recorrer la lista. ¿Cuál es su complejidad?
O(1)
O(log n)
O(n^2)
O(n)
13.
¿Es posible eliminar un nodo de una lista simplemente enlazada si solo se tiene un puntero a ese nodo (sin conocer el anterior)?
Sí, copiando el dato del siguiente y eliminando el siguiente.
No, es imposible sin el anterior.
Sí, usando recursión.
Sí, modificando el puntero al nodo directamente.
14.
¿Cuál es la principal ventaja de una lista doblemente enlazada sobre una simplemente enlazada?
Menor uso de memoria.
Permite recorrer la lista en ambas direcciones.
Inserción al inicio es más rápida.
No requiere puntero cabeza.
15.
¿Cuántos punteros se necesitan típicamente para invertir una lista simplemente enlazada de forma iterativa?
1
2
3
4
16.
En comparación con un arreglo, una lista enlazada consume:
menos memoria por elemento porque no hay espacios vacíos.
más memoria por elemento porque almacena punteros adicionales.
la misma memoria.
17.
En una lista enlazada vacía, el puntero cabeza tiene el valor __.
Respuesta: ____________________________________________
18.
¿Cuál de los siguientes algoritmos de ordenamiento es más adecuado para ordenar una lista enlazada?
Quicksort (con pivote)
Bubblesort
Insertionsort
Mergesort
19.
¿Qué situación de la vida real se modela mejor con una lista enlazada?
Un reproductor de música con lista de reproducción donde se añaden y eliminan canciones frecuentemente.
Un archivo de Excel con datos fijos.
Una base de datos con búsqueda por índice.
Una pila de platos.
20.
En una lista doblemente enlazada, eliminar un nodo dado requiere:
siempre conocer el nodo anterior.
solo el nodo a eliminar porque se puede acceder al anterior mediante el puntero 'prev'.
recorrer la lista desde la cabeza.