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.
Una estructura de datos donde cada elemento contiene un dato y un enlace al siguiente elemento.
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.
Inserción y eliminación eficientes sin necesidad de desplazar elementos.
3.
En una lista doblemente enlazada, cada nodo contiene un puntero al siguiente nodo y un puntero al __.
Respuesta: ____________________________________________
anterior
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)
O(1)
5.
En una lista simplemente enlazada, el puntero 'next' del último nodo apunta a __.
Respuesta: ____________________________________________
null
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.
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.
El último nodo apunta al primero.
8.
El puntero que apunta al primer nodo de una lista enlazada se denomina __.
Respuesta: ____________________________________________
cabeza
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)
O(n)
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)
O(n)
11.
El algoritmo de Floyd (tortuga y liebre) se utiliza para detectar ____ en una lista enlazada.
Respuesta: ____________________________________________
ciclos
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)
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.
Sí, copiando el dato del siguiente y eliminando el siguiente.
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.
Permite recorrer la lista en ambas direcciones.
15.
¿Cuántos punteros se necesitan típicamente para invertir una lista simplemente enlazada de forma iterativa?
1
2
3
4
3
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.
más memoria por elemento porque almacena punteros adicionales.
17.
En una lista enlazada vacía, el puntero cabeza tiene el valor __.
Respuesta: ____________________________________________
null
18.
¿Cuál de los siguientes algoritmos de ordenamiento es más adecuado para ordenar una lista enlazada?
Quicksort (con pivote)
Bubblesort
Insertionsort
Mergesort
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.
Un reproductor de música con lista de reproducción donde se añaden y eliminan canciones frecuentemente.
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.
solo el nodo a eliminar porque se puede acceder al anterior mediante el puntero 'prev'.
Respuestas
-
A.
Una estructura de datos donde cada elemento contiene un dato y un enlace al siguiente elemento.
-
B.
Inserción y eliminación eficientes sin necesidad de desplazar elementos.
-
anterior
-
C.
O(1)
-
null
-
D.
El nodo anterior al que se desea eliminar.
-
A.
El último nodo apunta al primero.
-
cabeza
-
B.
O(n)
-
C.
O(n)
-
ciclos
-
D.
O(n)
-
A.
Sí, copiando el dato del siguiente y eliminando el siguiente.
-
B.
Permite recorrer la lista en ambas direcciones.
-
C.
3
-
B.
más memoria por elemento porque almacena punteros adicionales.
-
null
-
D.
Mergesort
-
A.
Un reproductor de música con lista de reproducción donde se añaden y eliminan canciones frecuentemente.
-
B.
solo el nodo a eliminar porque se puede acceder al anterior mediante el puntero 'prev'.