Sunteți pe pagina 1din 2

Escuela Académico Profesional de Informática – Universidad Nacional de Trujillo

Ejercicios de Estructuras de Datos

Listas Enlazadas – Listas Circulares – Listas Doblemente Enlazadas

1.- Se ha definido la siguiente Estructura de Datos:

En el arreglo POSTRES se almacenan nombres de postres. A su vez cada elemento del arreglo
tiene asociado una lista enlazada que contiene los ingredientes que requiere dicho postre.

Escribir algoritmos para:

• Dado el nombre del postre, imprimir su lista de ingredientes.


• Dado el nombre de un postre, se pueda insertar nuevos ingredientes a su correspondiente
lista.
• Dado el nombre del postre, permita eliminar algún ingrediente.
• Eliminar un postre con todos sus ingredientes.

2.- Diseñar un algoritmo para insertar un elemento en una lista doblemente enlazada circular. En
este tipo de listas el primer elemento tiene como anterior al último y el último tiene como
siguiente al primero.

3.- Suponga que se almacena un polinomio en una lista enlazada en donde los nodos almacenas
los coeficientes del polinomio. Diseñar un algoritmo que permita sumar dos polinomios.
Consejo: Escoge el tipo de lista enlazada que te convenga.

4.-El problema de Josephus es un juego de suicidio en masa, donde n personas están sentadas en
un círculo. Empezando en la primera persona, cada una pasa un arma a la siguiente. Después de m
pasadas, la persona que tiene el arma se suicida, la persona es retirada, y la cuenta de las pasadas se
reinicia y el arma pasa a la siguiente persona después de la suicidada. La única persona que queda
al final, es la persona que se salva.

Diseñar un algoritmo, empleando la estructura de datos más adecuada que permita saber cual de
las n personas sobrevive, cuando el número de pasadas es m.

5.- Diseñar un algoritmo que permita hallar la reversa de una lista enlazada simple en un tiempo
lineal O(n). No es posible crear nuevos nodos.

6.- Diseñar un algoritmo que permita eliminar todas las ocurrencias de un elemento dado en una
lista enlazada circular.

7.- Diseñar un algoritmo recursivo para sumar dos números enteros.

Ing. Iván A. Sipirán Mendoza


Escuela Académico Profesional de Informática – Universidad Nacional de Trujillo

8.- Dada una lista de números enteros A, diseñar un algoritmo que permita eliminar los elementos
de la lista que estén en las posiciones que están contenidas en una lista de enteros B.

9.- Sugiere una estrategia alternativa de creación de listas enlazadas que no use punteros.

Ing. Iván A. Sipirán Mendoza

S-ar putea să vă placă și